From 2d1d9c92f82a3a2d12e0868962872c443c3575c6 Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Tue, 15 Jul 2025 12:27:52 +0200 Subject: [PATCH 01/53] feat(search): update Docsearch to v4-beta --- .../package.json | 2 +- .../src/theme-search-algolia.d.ts | 1 + .../src/theme/SearchBar/index.tsx | 45 +- .../src/theme/SearchPage/index.tsx | 88 ++-- .../src/theme/SearchPage/styles.module.css | 16 + .../src/theme/SearchTranslations/index.ts | 226 +++++++--- .../locales/ar/theme-search-algolia.json | 29 +- .../locales/base/theme-search-algolia.json | 54 ++- .../locales/bg/theme-search-algolia.json | 31 +- .../locales/bn/theme-search-algolia.json | 87 ++-- .../locales/cs/theme-search-algolia.json | 87 ++-- .../locales/da/theme-search-algolia.json | 29 +- .../locales/de/theme-search-algolia.json | 29 +- .../locales/es/theme-search-algolia.json | 29 +- .../locales/et/theme-search-algolia.json | 47 ++- .../locales/fa/theme-search-algolia.json | 31 +- .../locales/fil/theme-search-algolia.json | 31 +- .../locales/fr/theme-search-algolia.json | 29 +- .../locales/he/theme-search-algolia.json | 31 +- .../locales/hi/theme-search-algolia.json | 35 +- .../locales/hu/theme-search-algolia.json | 32 +- .../locales/id/theme-search-algolia.json | 2 +- .../locales/is/theme-search-algolia.json | 2 +- .../locales/it/theme-search-algolia.json | 2 +- .../locales/ja/theme-search-algolia.json | 29 +- .../locales/ko/theme-search-algolia.json | 29 +- .../locales/nb/theme-search-algolia.json | 29 +- .../locales/nl/theme-search-algolia.json | 2 +- .../locales/pl/theme-search-algolia.json | 2 +- .../locales/pt-BR/theme-search-algolia.json | 2 +- .../locales/pt-PT/theme-search-algolia.json | 2 +- .../locales/ru/theme-search-algolia.json | 29 +- .../locales/sl/theme-search-algolia.json | 2 +- .../locales/sr/theme-search-algolia.json | 2 +- .../locales/sv/theme-search-algolia.json | 2 +- .../locales/tk/theme-search-algolia.json | 2 +- .../locales/tr/theme-search-algolia.json | 2 +- .../locales/uk/theme-search-algolia.json | 31 +- .../locales/vi/theme-search-algolia.json | 31 +- .../locales/zh-Hans/theme-search-algolia.json | 31 +- .../locales/zh-Hant/theme-search-algolia.json | 31 +- website/docusaurus.config.ts | 1 + yarn.lock | 389 ++++++++++-------- 43 files changed, 1257 insertions(+), 386 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index cd20a5510849..ba745f5dda3f 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -33,7 +33,7 @@ "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch" }, "dependencies": { - "@docsearch/react": "^3.9.0", + "@docsearch/react": "beta", "@docusaurus/core": "3.8.1", "@docusaurus/logger": "3.8.1", "@docusaurus/plugin-content-docs": "3.8.1", diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index 9e12b5e2dda7..ce0bac946af2 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -20,6 +20,7 @@ declare module '@docusaurus/theme-search-algolia' { | 'searchParameters' | 'insights' | 'initialQuery' + | 'askAi' >; type ThemeConfigAlgolia = DocusaurusDocSearchProps & { diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index f0dd1189bf5f..58cb97b10b68 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -198,9 +198,36 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { // TODO remove "as any" after React 19 upgrade const searchButtonRef = useRef(null as any); const [isOpen, setIsOpen] = useState(false); - const [initialQuery, setInitialQuery] = useState( + const [initialQuery, setInitialQuery] = React.useState( undefined, ); + const [isAskAiActive, setIsAskAiActive] = React.useState(false); + + const canHandleAskAi = Boolean(props?.askAi); + + let currentPlaceholder = + props?.translations?.modal?.searchBox?.placeholderText || + props?.placeholder || + 'Search docs'; + + if (canHandleAskAi) { + currentPlaceholder = + props?.translations?.modal?.searchBox?.placeholderText || + 'Search docs or ask AI a question'; + } + + if (isAskAiActive) { + currentPlaceholder = + props?.translations?.modal?.searchBox?.placeholderTextAskAi || + 'Ask another question...'; + } + + const onAskAiToggle = React.useCallback( + (askAItoggle: boolean) => { + setIsAskAiActive(askAItoggle); + }, + [setIsAskAiActive], + ); const prepareSearchContainer = useCallback(() => { if (!searchContainer.current) { @@ -219,7 +246,10 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { setIsOpen(false); searchButtonRef.current?.focus(); setInitialQuery(undefined); - }, []); + if (isAskAiActive) { + setIsAskAiActive(false); + } + }, [isAskAiActive]); const handleInput = useCallback( (event: KeyboardEvent) => { @@ -243,6 +273,8 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { onClose: closeModal, onInput: handleInput, searchButtonRef, + isAskAiActive, + onAskAiToggle, }); return ( @@ -274,6 +306,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { searchContainer.current && createPortal( , // TODO need to fix this React Compiler lint error // eslint-disable-next-line react-compiler/react-compiler diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx index 0dd822f6e892..9544b97fb92e 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx @@ -435,35 +435,75 @@ function SearchPageContent(): ReactNode { documentsFoundPlural(searchResultState.totalResults)} -
+
+ + {translate({ + id: 'theme.SearchPage.algoliaLabel', + message: 'Powered by', + description: + 'The text explain that the search powered by Algolia', + })} + - - - - - - + + + {/* eslint-disable-next-line @docusaurus/no-untranslated-text */} + + + + + + + + + + +
diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css index d00563767f79..82f06aa6e0e0 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css @@ -33,6 +33,22 @@ font-weight: bold; } +.searchLogoColumn { + display: flex; + align-items: center; + gap: 0.5rem; + justify-content: flex-end; +} + +.searchLogoColumn a { + display: flex; +} + +.searchLogoColumn span { + color: var(--docsearch-muted-color); + font-weight: normal; +} + .algoliaLogo { max-width: 150px; } diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts index 40d0f44ec00a..e20ee845bb48 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts @@ -9,7 +9,7 @@ import {translate} from '@docusaurus/Translate'; import type {DocSearchTranslations} from '@docsearch/react'; -const translations: DocSearchTranslations & {placeholder: string} = { +const translations: DocSearchTranslations = { button: { buttonText: translate({ id: 'theme.SearchBar.label', @@ -24,26 +24,59 @@ const translations: DocSearchTranslations & {placeholder: string} = { }, modal: { searchBox: { - resetButtonTitle: translate({ + clearButtonTitle: translate({ id: 'theme.SearchModal.searchBox.resetButtonTitle', message: 'Clear the query', description: 'The label and ARIA label for search box reset button', }), - resetButtonAriaLabel: translate({ + clearButtonAriaLabel: translate({ id: 'theme.SearchModal.searchBox.resetButtonTitle', message: 'Clear the query', description: 'The label and ARIA label for search box reset button', }), - cancelButtonText: translate({ + closeButtonText: translate({ id: 'theme.SearchModal.searchBox.cancelButtonText', message: 'Cancel', description: 'The label and ARIA label for search box cancel button', }), - cancelButtonAriaLabel: translate({ + closeButtonAriaLabel: translate({ id: 'theme.SearchModal.searchBox.cancelButtonText', message: 'Cancel', description: 'The label and ARIA label for search box cancel button', }), + placeholderText: translate({ + id: 'theme.SearchModal.searchBox.placeholderText', + message: 'Search docs', + description: 'The placeholder text for the main search input field', + }), + placeholderTextAskAi: translate({ + id: 'theme.SearchModal.searchBox.placeholderTextAskAi', + message: 'Ask another question...', + description: 'The placeholder text when in AI question mode', + }), + placeholderTextAskAiStreaming: translate({ + id: 'theme.SearchModal.searchBox.placeholderTextAskAiStreaming', + message: 'Answering...', + description: + 'The placeholder text for search box when AI is streaming an answer', + }), + enterKeyHint: 'search', + enterKeyHintAskAi: 'enter', + searchInputLabel: translate({ + id: 'theme.SearchModal.searchBox.searchInputLabel', + message: 'Search', + description: 'The ARIA label for search input', + }), + backToKeywordSearchButtonText: translate({ + id: 'theme.SearchModal.searchBox.backToKeywordSearchButtonText', + message: 'Back to keyword search', + description: 'The text for back to keyword search button', + }), + backToKeywordSearchButtonAriaLabel: translate({ + id: 'theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel', + message: 'Back to keyword search', + description: 'The ARIA label for back to keyword search button', + }), }, startScreen: { recentSearchesTitle: translate({ @@ -54,17 +87,17 @@ const translations: DocSearchTranslations & {placeholder: string} = { noRecentSearchesText: translate({ id: 'theme.SearchModal.startScreen.noRecentSearchesText', message: 'No recent searches', - description: 'The text when no recent searches', + description: 'The text when there are no recent searches', }), saveRecentSearchButtonTitle: translate({ id: 'theme.SearchModal.startScreen.saveRecentSearchButtonTitle', message: 'Save this search', - description: 'The label for save recent search button', + description: 'The title for save recent search button', }), removeRecentSearchButtonTitle: translate({ id: 'theme.SearchModal.startScreen.removeRecentSearchButtonTitle', message: 'Remove this search from history', - description: 'The label for remove recent search button', + description: 'The title for remove recent search button', }), favoriteSearchesTitle: translate({ id: 'theme.SearchModal.startScreen.favoriteSearchesTitle', @@ -74,99 +107,178 @@ const translations: DocSearchTranslations & {placeholder: string} = { removeFavoriteSearchButtonTitle: translate({ id: 'theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle', message: 'Remove this search from favorites', - description: 'The label for remove favorite search button', + description: 'The title for remove favorite search button', + }), + recentConversationsTitle: translate({ + id: 'theme.SearchModal.startScreen.recentConversationsTitle', + message: 'Recent conversations', + description: 'The title for recent conversations', + }), + removeRecentConversationButtonTitle: translate({ + id: 'theme.SearchModal.startScreen.removeRecentConversationButtonTitle', + message: 'Remove this conversation from history', + description: 'The title for remove recent conversation button', }), }, errorScreen: { titleText: translate({ id: 'theme.SearchModal.errorScreen.titleText', message: 'Unable to fetch results', - description: 'The title for error screen of search modal', + description: 'The title for error screen', }), helpText: translate({ id: 'theme.SearchModal.errorScreen.helpText', message: 'You might want to check your network connection.', - description: 'The help text for error screen of search modal', + description: 'The help text for error screen', + }), + }, + noResultsScreen: { + noResultsText: translate({ + id: 'theme.SearchModal.noResultsScreen.noResultsText', + message: 'No results found for', + description: 'The text when there are no results', + }), + suggestedQueryText: translate({ + id: 'theme.SearchModal.noResultsScreen.suggestedQueryText', + message: 'Try searching for', + description: 'The text for suggested query', + }), + reportMissingResultsText: translate({ + id: 'theme.SearchModal.noResultsScreen.reportMissingResultsText', + message: 'Believe this query should return results?', + description: 'The text for reporting missing results', + }), + reportMissingResultsLinkText: translate({ + id: 'theme.SearchModal.noResultsScreen.reportMissingResultsLinkText', + message: 'Let us know.', + description: 'The link text for reporting missing results', + }), + }, + resultsScreen: { + askAiPlaceholder: translate({ + id: 'theme.SearchModal.resultsScreen.askAiPlaceholder', + message: 'Ask AI: ', + description: 'The placeholder text for ask AI input', + }), + }, + askAiScreen: { + disclaimerText: translate({ + id: 'theme.SearchModal.askAiScreen.disclaimerText', + message: + 'Answers are generated with AI which can make mistakes. Verify responses.', + description: 'The disclaimer text for AI answers', + }), + relatedSourcesText: translate({ + id: 'theme.SearchModal.askAiScreen.relatedSourcesText', + message: 'Related sources', + description: 'The text for related sources', + }), + thinkingText: translate({ + id: 'theme.SearchModal.askAiScreen.thinkingText', + message: 'Thinking...', + description: 'The text when AI is thinking', + }), + copyButtonText: translate({ + id: 'theme.SearchModal.askAiScreen.copyButtonText', + message: 'Copy', + description: 'The text for copy button', }), + copyButtonCopiedText: translate({ + id: 'theme.SearchModal.askAiScreen.copyButtonCopiedText', + message: 'Copied!', + description: 'The text for copy button when copied', + }), + copyButtonTitle: translate({ + id: 'theme.SearchModal.askAiScreen.copyButtonTitle', + message: 'Copy', + description: 'The title for copy button', + }), + likeButtonTitle: translate({ + id: 'theme.SearchModal.askAiScreen.likeButtonTitle', + message: 'Like', + description: 'The title for like button', + }), + dislikeButtonTitle: translate({ + id: 'theme.SearchModal.askAiScreen.dislikeButtonTitle', + message: 'Dislike', + description: 'The title for dislike button', + }), + thanksForFeedbackText: translate({ + id: 'theme.SearchModal.askAiScreen.thanksForFeedbackText', + message: 'Thanks for your feedback!', + description: 'The text for thanks for feedback', + }), + preToolCallText: translate({ + id: 'theme.SearchModal.askAiScreen.preToolCallText', + message: 'Searching...', + description: 'The text before tool call', + }), + duringToolCallText: translate({ + id: 'theme.SearchModal.askAiScreen.duringToolCallText', + message: 'Searching for ', + description: 'The text during tool call', + }), + afterToolCallText: translate({ + id: 'theme.SearchModal.askAiScreen.afterToolCallText', + message: 'Searched for', + description: 'The text after tool call', + }), + aggregatedToolCallNode: undefined, + aggregatedToolCallText: undefined, }, footer: { selectText: translate({ id: 'theme.SearchModal.footer.selectText', - message: 'to select', - description: 'The explanatory text of the action for the enter key', + message: 'Select', + description: 'The select text for footer', + }), + submitQuestionText: translate({ + id: 'theme.SearchModal.footer.submitQuestionText', + message: 'Submit question', + description: 'The submit question text for footer', }), selectKeyAriaLabel: translate({ id: 'theme.SearchModal.footer.selectKeyAriaLabel', message: 'Enter key', - description: - 'The ARIA label for the Enter key button that makes the selection', + description: 'The ARIA label for select key in footer', }), navigateText: translate({ id: 'theme.SearchModal.footer.navigateText', - message: 'to navigate', - description: - 'The explanatory text of the action for the Arrow up and Arrow down key', + message: 'Navigate', + description: 'The navigate text for footer', }), navigateUpKeyAriaLabel: translate({ id: 'theme.SearchModal.footer.navigateUpKeyAriaLabel', message: 'Arrow up', - description: - 'The ARIA label for the Arrow up key button that makes the navigation', + description: 'The ARIA label for navigate up key in footer', }), navigateDownKeyAriaLabel: translate({ id: 'theme.SearchModal.footer.navigateDownKeyAriaLabel', message: 'Arrow down', - description: - 'The ARIA label for the Arrow down key button that makes the navigation', + description: 'The ARIA label for navigate down key in footer', }), closeText: translate({ id: 'theme.SearchModal.footer.closeText', - message: 'to close', - description: 'The explanatory text of the action for Escape key', + message: 'Close', + description: 'The close text for footer', }), closeKeyAriaLabel: translate({ id: 'theme.SearchModal.footer.closeKeyAriaLabel', message: 'Escape key', - description: - 'The ARIA label for the Escape key button that close the modal', + description: 'The ARIA label for close key in footer', }), - searchByText: translate({ + poweredByText: translate({ id: 'theme.SearchModal.footer.searchByText', message: 'Search by', - description: 'The text explain that the search is making by Algolia', + description: 'The search by text for footer', }), - }, - noResultsScreen: { - noResultsText: translate({ - id: 'theme.SearchModal.noResultsScreen.noResultsText', - message: 'No results for', - description: - 'The text explains that there are no results for the following search', - }), - suggestedQueryText: translate({ - id: 'theme.SearchModal.noResultsScreen.suggestedQueryText', - message: 'Try searching for', - description: - 'The text for the suggested query when no results are found for the following search', - }), - reportMissingResultsText: translate({ - id: 'theme.SearchModal.noResultsScreen.reportMissingResultsText', - message: 'Believe this query should return results?', - description: - 'The text for the question where the user thinks there are missing results', - }), - reportMissingResultsLinkText: translate({ - id: 'theme.SearchModal.noResultsScreen.reportMissingResultsLinkText', - message: 'Let us know.', - description: 'The text for the link to report missing results', + backToSearchText: translate({ + id: 'theme.SearchModal.footer.backToSearchText', + message: 'Back to search', + description: 'The back to search text for footer', }), }, }, - placeholder: translate({ - id: 'theme.SearchModal.placeholder', - message: 'Search docs', - description: 'The placeholder of the input of the DocSearch pop-up modal', - }), }; export default translations; diff --git a/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json index 69ce6e9ce659..23923aa1e6b9 100644 --- a/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "البحث بواسطه Algolia", + "theme.SearchPage.algoliaLabel": "مدعوم من Algolia", "theme.SearchPage.documentsFound.plurals": "تم العثور على مستند واحد|تم العثور على {count} مستندات", "theme.SearchPage.emptyResultsTitle": "ابحث في الوثائق", "theme.SearchPage.existingResultsTitle": "نتائج البحث عن \"{query}\"", "theme.SearchPage.fetchingNewResults": "جلب نتائج جديدة ...", "theme.SearchPage.inputLabel": "بحث", "theme.SearchPage.inputPlaceholder": "اكتب ما تبحث عنه هنا", - "theme.SearchPage.noResultsText": "لم يتم العثور على نتائج" + "theme.SearchPage.noResultsText": "لم يتم العثور على نتائج", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json index dc394f4d8819..33777d9e991c 100644 --- a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json @@ -48,7 +48,7 @@ "theme.SearchModal.startScreen.removeRecentSearchButtonTitle___DESCRIPTION": "The label for remove recent search button", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle___DESCRIPTION": "The label for save recent search button", - "theme.SearchPage.algoliaLabel": "Search by Algolia", + "theme.SearchPage.algoliaLabel": "Powered by Algolia", "theme.SearchPage.algoliaLabel___DESCRIPTION": "The ARIA label for Algolia mention", "theme.SearchPage.documentsFound.plurals": "One document found|{count} documents found", "theme.SearchPage.documentsFound.plurals___DESCRIPTION": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)", @@ -63,5 +63,55 @@ "theme.SearchPage.inputPlaceholder": "Type your search here", "theme.SearchPage.inputPlaceholder___DESCRIPTION": "The placeholder for search page input", "theme.SearchPage.noResultsText": "No results were found", - "theme.SearchPage.noResultsText___DESCRIPTION": "The paragraph for empty search result" + "theme.SearchPage.noResultsText___DESCRIPTION": "The paragraph for empty search result", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderText___DESCRIPTION": "The placeholder text for the main search input field", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAi___DESCRIPTION": "The placeholder text when in AI question mode", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming___DESCRIPTION": "The placeholder text while AI is answering", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHint___DESCRIPTION": "The enter key hint for search mode", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.enterKeyHintAskAi___DESCRIPTION": "The enter key hint for AI mode", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.searchInputLabel___DESCRIPTION": "The label for the search input field", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText___DESCRIPTION": "The text for the button to return to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel___DESCRIPTION": "The aria label for the back to search button", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.recentConversationsTitle___DESCRIPTION": "The title for recent AI conversations section", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle___DESCRIPTION": "The title for the button to remove a conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.resultsScreen.askAiPlaceholder___DESCRIPTION": "The placeholder prefix for the AI question input", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.disclaimerText___DESCRIPTION": "The disclaimer text shown in AI mode", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.relatedSourcesText___DESCRIPTION": "The text for related sources section", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.thinkingText___DESCRIPTION": "The text shown while AI is processing", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonText___DESCRIPTION": "The text for the copy button", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonCopiedText___DESCRIPTION": "The text shown after copying", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle___DESCRIPTION": "The title for the copy button", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.likeButtonTitle___DESCRIPTION": "The title for the like button", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.dislikeButtonTitle___DESCRIPTION": "The title for the dislike button", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thanksForFeedbackText___DESCRIPTION": "The text shown after providing feedback", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.preToolCallText___DESCRIPTION": "The text shown before search begins", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.duringToolCallText___DESCRIPTION": "The text shown during search", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.afterToolCallText___DESCRIPTION": "The text shown after search completes", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.submitQuestionText___DESCRIPTION": "The text for the submit question button", + "theme.SearchModal.footer.backToSearchText": "Back to search", + "theme.SearchModal.footer.backToSearchText___DESCRIPTION": "The text for the back to search button" } diff --git a/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json index 100008c134b9..e07b1e4aae9f 100644 --- a/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Премахване на това търсене от любимите", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Премахване това търсене от историята", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Запазване това търсене", - "theme.SearchPage.algoliaLabel": "Търсене от Algolia", + "theme.SearchPage.algoliaLabel": "Задвижвано от Algolia", "theme.SearchPage.documentsFound.plurals": "Намерен е един документ|{count} намерени документи", "theme.SearchPage.emptyResultsTitle": "Потърсете в документацията", "theme.SearchPage.existingResultsTitle": "Резултати от търсенето за \"{query}\"", "theme.SearchPage.fetchingNewResults": "звличане на нови резултати...", "theme.SearchPage.inputLabel": "Търсене", - "theme.SearchPage.inputPlaceholder": "Въведете вашето търсене тук", - "theme.SearchPage.noResultsText": "Не бяха намерени резултати" + "theme.SearchPage.inputPlaceholder": "Въведете търсенето си тук", + "theme.SearchPage.noResultsText": "Няма намерени резултати", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json index b6d157a5a50a..4a1b4f5860f1 100644 --- a/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json @@ -1,35 +1,60 @@ { - "theme.SearchBar.label": "সার্চ", - "theme.SearchBar.seeAll": "See all {count} results", - "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", - "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", - "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", - "theme.SearchModal.footer.closeText": "to close", - "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", - "theme.SearchModal.footer.navigateText": "to navigate", - "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", - "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", - "theme.SearchModal.footer.selectText": "to select", - "theme.SearchModal.noResultsScreen.noResultsText": "No results for", - "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", - "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", - "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", - "theme.SearchModal.placeholder": "Search docs", - "theme.SearchModal.searchBox.cancelButtonText": "Cancel", - "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", - "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", - "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", - "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "আলগোলিয়া দ্বারা অনুসন্ধান করুন", - "theme.SearchPage.documentsFound.plurals": "একটি ডকুমেন্ট পাওয়া গেছে|{count} ডকুমেন্টস পাওয়া গেছে", - "theme.SearchPage.emptyResultsTitle": "ডকুমেন্টেশন অনুসন্ধান করুন", + "theme.SearchBar.label": "অনুসন্ধান", + "theme.SearchBar.seeAll": "সমস্ত {count}টি ফলাফল দেখুন", + "theme.SearchModal.errorScreen.helpText": "আপনি আপনার নেটওয়ার্ক সংযোগ পরীক্ষা করতে চাইতে পারেন।", + "theme.SearchModal.errorScreen.titleText": "ফলাফল আনতে অক্ষম", + "theme.SearchModal.footer.closeKeyAriaLabel": "Escape কী", + "theme.SearchModal.footer.closeText": "বন্ধ করতে", + "theme.SearchModal.footer.navigateDownKeyAriaLabel": "তীর নিচে", + "theme.SearchModal.footer.navigateText": "নেভিগেট করতে", + "theme.SearchModal.footer.navigateUpKeyAriaLabel": "তীর উপরে", + "theme.SearchModal.footer.searchByText": "অনুসন্ধান দ্বারা", + "theme.SearchModal.footer.selectKeyAriaLabel": "Enter কী", + "theme.SearchModal.footer.selectText": "নির্বাচন করতে", + "theme.SearchModal.noResultsScreen.noResultsText": "কোনো ফলাফল পাওয়া যায়নি", + "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "আমাদের জানান।", + "theme.SearchModal.noResultsScreen.reportMissingResultsText": "বিশ্বাস করেন এই অনুসন্ধানে ফলাফল থাকা উচিত?", + "theme.SearchModal.noResultsScreen.suggestedQueryText": "অনুসন্ধান করার চেষ্টা করুন", + "theme.SearchModal.placeholder": "ডক্স অনুসন্ধান করুন", + "theme.SearchModal.searchBox.cancelButtonText": "বাতিল", + "theme.SearchModal.searchBox.resetButtonTitle": "অনুসন্ধান সাফ করুন", + "theme.SearchModal.startScreen.favoriteSearchesTitle": "প্রিয়", + "theme.SearchModal.startScreen.noRecentSearchesText": "কোনো সাম্প্রতিক অনুসন্ধান নেই", + "theme.SearchModal.startScreen.recentSearchesTitle": "সাম্প্রতিক", + "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "প্রিয় থেকে এই অনুসন্ধান সরান", + "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "ইতিহাস থেকে এই অনুসন্ধান সরান", + "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "এই অনুসন্ধান সংরক্ষণ করুন", + "theme.SearchPage.algoliaLabel": "Algolia দ্বারা অনুসন্ধান", + "theme.SearchPage.documentsFound.plurals": "{count}টি ডকুমেন্ট পাওয়া গেছে", + "theme.SearchPage.emptyResultsTitle": "ডকুমেন্টেশনে অনুসন্ধান করুন", "theme.SearchPage.existingResultsTitle": "\"{query}\" এর জন্য অনুসন্ধান ফলাফল", "theme.SearchPage.fetchingNewResults": "নতুন ফলাফল আনা হচ্ছে...", - "theme.SearchPage.inputLabel": "সার্চ", - "theme.SearchPage.inputPlaceholder": "আপনার অনুসন্ধান এখানে টাইপ করুন", - "theme.SearchPage.noResultsText": "কোন ফলাফল পাওয়া যায়নি" + "theme.SearchPage.inputLabel": "অনুসন্ধান", + "theme.SearchPage.inputPlaceholder": "এখানে আপনার অনুসন্ধান লিখুন", + "theme.SearchPage.noResultsText": "কোনো ফলাফল পাওয়া যায়নি", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json index 8c8d092d0132..1068cf09f6dd 100644 --- a/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json @@ -1,35 +1,60 @@ { - "theme.SearchBar.label": "Hledat", - "theme.SearchBar.seeAll": "See all {count} results", - "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", - "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", - "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", - "theme.SearchModal.footer.closeText": "to close", - "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", - "theme.SearchModal.footer.navigateText": "to navigate", - "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", - "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", - "theme.SearchModal.footer.selectText": "to select", - "theme.SearchModal.noResultsScreen.noResultsText": "No results for", - "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", - "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", - "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", - "theme.SearchModal.placeholder": "Search docs", - "theme.SearchModal.searchBox.cancelButtonText": "Cancel", - "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", - "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", - "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", - "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Vyhledávání od Algolia", - "theme.SearchPage.documentsFound.plurals": "Jeden dokument nalezen|{count} dokumenty nalezeny|{count} dokumentů nalezeno", + "theme.SearchBar.label": "Vyhledávání", + "theme.SearchBar.seeAll": "Zobrazit všech {count} výsledků", + "theme.SearchModal.errorScreen.helpText": "Možná byste měli zkontrolovat připojení k síti.", + "theme.SearchModal.errorScreen.titleText": "Nelze načíst výsledky", + "theme.SearchModal.footer.closeKeyAriaLabel": "Klávesa Escape", + "theme.SearchModal.footer.closeText": "zavřít", + "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Šipka dolů", + "theme.SearchModal.footer.navigateText": "navigovat", + "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Šipka nahoru", + "theme.SearchModal.footer.searchByText": "Vyhledávání pomocí", + "theme.SearchModal.footer.selectKeyAriaLabel": "Klávesa Enter", + "theme.SearchModal.footer.selectText": "vybrat", + "theme.SearchModal.noResultsScreen.noResultsText": "Žádné výsledky pro", + "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Dejte nám vědět.", + "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Věříte, že tento dotaz by měl vrátit výsledky?", + "theme.SearchModal.noResultsScreen.suggestedQueryText": "Zkuste vyhledat", + "theme.SearchModal.placeholder": "Prohledat dokumentaci", + "theme.SearchModal.searchBox.cancelButtonText": "Zrušit", + "theme.SearchModal.searchBox.resetButtonTitle": "Vymazat dotaz", + "theme.SearchModal.startScreen.favoriteSearchesTitle": "Oblíbené", + "theme.SearchModal.startScreen.noRecentSearchesText": "Žádná nedávná vyhledávání", + "theme.SearchModal.startScreen.recentSearchesTitle": "Nedávné", + "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Odebrat toto vyhledávání z oblíbených", + "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Odebrat toto vyhledávání z historie", + "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Uložit toto vyhledávání", + "theme.SearchPage.algoliaLabel": "Vyhledávání pomocí Algolia", + "theme.SearchPage.documentsFound.plurals": "Nalezen {count} dokument", "theme.SearchPage.emptyResultsTitle": "Prohledat dokumentaci", "theme.SearchPage.existingResultsTitle": "Výsledky vyhledávání pro \"{query}\"", - "theme.SearchPage.fetchingNewResults": "Stahuji nové výsledky...", - "theme.SearchPage.inputLabel": "Hledat", - "theme.SearchPage.inputPlaceholder": "Zde napište hledaný text", - "theme.SearchPage.noResultsText": "Nic nebylo nalezeno" + "theme.SearchPage.fetchingNewResults": "Načítání nových výsledků...", + "theme.SearchPage.inputLabel": "Vyhledávání", + "theme.SearchPage.inputPlaceholder": "Zadejte hledaný text", + "theme.SearchPage.noResultsText": "Žádné výsledky nenalezeny", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json index be4f09438456..dd07b5b73578 100644 --- a/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Søg med Algolia", + "theme.SearchPage.algoliaLabel": "Drevet af Algolia", "theme.SearchPage.documentsFound.plurals": "Et dokument fundet|{count} dokumenter fundet", "theme.SearchPage.emptyResultsTitle": "Søg i dokumentationen", "theme.SearchPage.existingResultsTitle": "Søgeresultater for \"{query}\"", "theme.SearchPage.fetchingNewResults": "Henter nye resultater...", "theme.SearchPage.inputLabel": "Søg", "theme.SearchPage.inputPlaceholder": "Indtast din søgning her", - "theme.SearchPage.noResultsText": "Ingen resultater fundet" + "theme.SearchPage.noResultsText": "Ingen resultater fundet", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json index 5aa48122ad13..8c91ce76a3e5 100644 --- a/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Suche von Algolia", + "theme.SearchPage.algoliaLabel": "Unterstützt von Algolia", "theme.SearchPage.documentsFound.plurals": "Ein Dokument gefunden|{count} Dokumente gefunden", "theme.SearchPage.emptyResultsTitle": "Suche in der Dokumentation", "theme.SearchPage.existingResultsTitle": "Suchergebnisse für \"{query}\"", "theme.SearchPage.fetchingNewResults": "Neue Ergebnisse abrufen...", "theme.SearchPage.inputLabel": "Suche", "theme.SearchPage.inputPlaceholder": "Geben Sie hier Ihre Suche ein", - "theme.SearchPage.noResultsText": "Es wurden keine Ergebnisse gefunden" + "theme.SearchPage.noResultsText": "Es wurden keine Ergebnisse gefunden", + "theme.SearchModal.searchBox.placeholderText": "Dokumentation durchsuchen", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Weitere Frage stellen...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Antwortet...", + "theme.SearchModal.searchBox.enterKeyHint": "suchen", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "eingeben", + "theme.SearchModal.searchBox.searchInputLabel": "Suchen", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Zurück zur Stichwortsuche", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Zurück zur Stichwortsuche", + "theme.SearchModal.startScreen.recentConversationsTitle": "Letzte Gespräche", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Dieses Gespräch aus dem Verlauf entfernen", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "KI fragen: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Antworten werden von KI generiert und können Fehler enthalten. Bitte überprüfen Sie die Antworten.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Verwandte Quellen", + "theme.SearchModal.askAiScreen.thinkingText": "Denkt nach...", + "theme.SearchModal.askAiScreen.copyButtonText": "Kopieren", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Kopiert!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Kopieren", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Gefällt mir", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Gefällt mir nicht", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Danke für Ihr Feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Suche...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Suche nach ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Gesucht nach ", + "theme.SearchModal.footer.submitQuestionText": "Frage absenden", + "theme.SearchModal.footer.backToSearchText": "Zurück zur Suche" } diff --git a/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json index 987ba4194c85..f6e7bb8a558b 100644 --- a/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Eliminar esta búsqueda de favoritos", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Eliminar esta búsqueda del historial", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Guardar esta búsqueda", - "theme.SearchPage.algoliaLabel": "Búsqueda por Algolia", + "theme.SearchPage.algoliaLabel": "Con tecnología de Algolia", "theme.SearchPage.documentsFound.plurals": "Un documento encontrado|{count} documentos encontrados", "theme.SearchPage.emptyResultsTitle": "Búsqueda en la documentación", "theme.SearchPage.existingResultsTitle": "Resultados de búsqueda para \"{query}\"", "theme.SearchPage.fetchingNewResults": "Obteniendo nuevos resultados...", "theme.SearchPage.inputLabel": "Buscar", "theme.SearchPage.inputPlaceholder": "Escribe tu búsqueda aquí", - "theme.SearchPage.noResultsText": "No se encontraron resultados" + "theme.SearchPage.noResultsText": "No se encontraron resultados", + "theme.SearchModal.searchBox.placeholderText": "Buscar documentos", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Hacer otra pregunta...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Respondiendo...", + "theme.SearchModal.searchBox.enterKeyHint": "buscar", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enviar", + "theme.SearchModal.searchBox.searchInputLabel": "Buscar", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Volver a búsqueda por palabras clave", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Volver a búsqueda por palabras clave", + "theme.SearchModal.startScreen.recentConversationsTitle": "Conversaciones recientes", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Eliminar esta conversación del historial", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Preguntar a la IA: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Las respuestas son generadas por IA y pueden contener errores. Verifique las respuestas.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Fuentes relacionadas", + "theme.SearchModal.askAiScreen.thinkingText": "Pensando...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copiar", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "¡Copiado!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copiar", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Me gusta", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "No me gusta", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "¡Gracias por tu opinión!", + "theme.SearchModal.askAiScreen.preToolCallText": "Buscando...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Buscando ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Se buscó ", + "theme.SearchModal.footer.submitQuestionText": "Enviar pregunta", + "theme.SearchModal.footer.backToSearchText": "Volver a la búsqueda" } diff --git a/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json index 2d63010512ca..d5e3fce500a0 100644 --- a/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json @@ -21,15 +21,40 @@ "theme.SearchModal.startScreen.favoriteSearchesTitle": "Lemmik", "theme.SearchModal.startScreen.noRecentSearchesText": "Hiljutised otsingud puuduvad", "theme.SearchModal.startScreen.recentSearchesTitle": "Hiljutised", - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Kustuta see päring lemmikute seast", - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Kustuta see päring ajaloost", - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salvesta see päring", - "theme.SearchPage.algoliaLabel": "Algolia otsing", - "theme.SearchPage.documentsFound.plurals": "Üks dokument leitud|{count} dokumenti leitud", - "theme.SearchPage.emptyResultsTitle": "Otsi dokumentatsioonist", - "theme.SearchPage.existingResultsTitle": "Otsi tulemust päringule \"{query}\"", - "theme.SearchPage.fetchingNewResults": "Pärib uusi tulemusi...", - "theme.SearchPage.inputLabel": "Otsi", - "theme.SearchPage.inputPlaceholder": "Kirjuta oma päring siia", - "theme.SearchPage.noResultsText": "Tulemusi ei leitud" + "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Eemalda see otsing lemmikutest", + "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Eemalda see otsing ajaloost", + "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salvesta see otsing", + "theme.SearchPage.algoliaLabel": "Otsingu võimaldab Algolia", + "theme.SearchPage.documentsFound.plurals": "Leitud {count} dokument", + "theme.SearchPage.emptyResultsTitle": "Otsi dokumentatsioonis", + "theme.SearchPage.existingResultsTitle": "Otsingutulemused päringule \"{query}\"", + "theme.SearchPage.fetchingNewResults": "Uute tulemuste laadimine...", + "theme.SearchPage.inputLabel": "Otsing", + "theme.SearchPage.inputPlaceholder": "Sisesta oma otsing siia", + "theme.SearchPage.noResultsText": "Tulemusi ei leitud", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json index e9108bc9dafa..12208eed6987 100644 --- a/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "این جستجو از برگزیده ها پاک شود", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "این جستجو از تاریخچه پاک شود", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "ذخیره این جستجو", - "theme.SearchPage.algoliaLabel": "جستجو با Algolia", + "theme.SearchPage.algoliaLabel": "قدرت گرفته از Algolia", "theme.SearchPage.documentsFound.plurals": "یک مورد پیدا شد|{count} مورد پیدا شد", "theme.SearchPage.emptyResultsTitle": "جستجو در متن", "theme.SearchPage.existingResultsTitle": "جستجو برای عبارت \"{query}\"", "theme.SearchPage.fetchingNewResults": "در حال دریافت نتایج...", "theme.SearchPage.inputLabel": "جستجو", - "theme.SearchPage.inputPlaceholder": "عبارت مورد نظر را اینجا بنویسید", - "theme.SearchPage.noResultsText": "هیچ نتیجه ای پیدا نشد" + "theme.SearchPage.inputPlaceholder": "جستجوی خود را اینجا تایپ کنید", + "theme.SearchPage.noResultsText": "هیچ نتیجه‌ای پیدا نشد", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json index d17d797dedf0..0876c464e03a 100644 --- a/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Paghahanap hatid ng Algolia", + "theme.SearchPage.algoliaLabel": "Pinapagana ng Algolia", "theme.SearchPage.documentsFound.plurals": "Isang dokumento ang nahanap|{count} na mga dokumento ang nahanap", "theme.SearchPage.emptyResultsTitle": "Maghanap sa dokumentasyón", "theme.SearchPage.existingResultsTitle": "Resulta ng paghahanap para sa \"{query}\"", "theme.SearchPage.fetchingNewResults": "Kumukuha ng mga bagong resulta...", "theme.SearchPage.inputLabel": "Maghanap", - "theme.SearchPage.inputPlaceholder": "I-type and inyong hinahanap dito", - "theme.SearchPage.noResultsText": "Walang resultang nahanap" + "theme.SearchPage.inputPlaceholder": "I-type ang inyong paghahanap dito", + "theme.SearchPage.noResultsText": "Walang nahanap na resulta", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json index be970d1af643..a78b1ab1f418 100644 --- a/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Supprimer cette recherche des favoris", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Supprimer cette recherche de l'historique", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Sauvegarder cette recherche", - "theme.SearchPage.algoliaLabel": "Recherche par Algolia", + "theme.SearchPage.algoliaLabel": "Fourni par Algolia", "theme.SearchPage.documentsFound.plurals": "Un document trouvé|{count} documents trouvés", "theme.SearchPage.emptyResultsTitle": "Rechercher dans la documentation", "theme.SearchPage.existingResultsTitle": "Résultats de recherche pour « {query} »", "theme.SearchPage.fetchingNewResults": "Chargement de nouveaux résultats...", "theme.SearchPage.inputLabel": "Chercher", "theme.SearchPage.inputPlaceholder": "Tapez votre recherche ici", - "theme.SearchPage.noResultsText": "Aucun résultat trouvé" + "theme.SearchPage.noResultsText": "Aucun résultat trouvé", + "theme.SearchModal.searchBox.placeholderText": "Rechercher des docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Poser une autre question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "En train de répondre...", + "theme.SearchModal.searchBox.enterKeyHint": "rechercher", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "entrée", + "theme.SearchModal.searchBox.searchInputLabel": "Rechercher", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Retour à la recherche par mots-clés", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Retour à la recherche par mots-clés", + "theme.SearchModal.startScreen.recentConversationsTitle": "Conversations récentes", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Supprimer cette conversation de l'historique", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Demander à l'IA : ", + "theme.SearchModal.askAiScreen.disclaimerText": "Les réponses sont générées par l'IA et peuvent contenir des erreurs. Veuillez vérifier les réponses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Sources connexes", + "theme.SearchModal.askAiScreen.thinkingText": "Réflexion en cours...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copier", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copié !", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copier", + "theme.SearchModal.askAiScreen.likeButtonTitle": "J'aime", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Je n'aime pas", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Merci pour votre retour !", + "theme.SearchModal.askAiScreen.preToolCallText": "Recherche en cours...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Recherche de ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Recherche effectuée pour ", + "theme.SearchModal.footer.submitQuestionText": "Soumettre la question", + "theme.SearchModal.footer.backToSearchText": "Retour à la recherche" } diff --git a/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json index 75f2ca642c22..b904cb8f6cdf 100644 --- a/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "חיפוש by Algolia", + "theme.SearchPage.algoliaLabel": "מופעל על ידי Algolia", "theme.SearchPage.documentsFound.plurals": "נמצא מסמך אחד|{count} מסמכים נמצאו|{count} מסמכים נמצאו|{count} מסמכים נמצאו", "theme.SearchPage.emptyResultsTitle": "חפש בדוקומנטאציה", "theme.SearchPage.existingResultsTitle": "תוצאות חיפוש עבור \"{query}\"", "theme.SearchPage.fetchingNewResults": "טוען תוצאות חיפוש חדשות...", "theme.SearchPage.inputLabel": "חיפוש", - "theme.SearchPage.inputPlaceholder": "הקלד כאן לחיפוש", - "theme.SearchPage.noResultsText": "לא נמצאו תוצאות" + "theme.SearchPage.inputPlaceholder": "הקלד את החיפוש שלך כאן", + "theme.SearchPage.noResultsText": "לא נמצאו תוצאות", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json index f718a2fac5f2..8213f281aa24 100644 --- a/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "अल्गोलिया द्वारा खोजें", + "theme.SearchPage.algoliaLabel": "Algolia द्वारा संचालित", "theme.SearchPage.documentsFound.plurals": "एक डॉक्यूमेंट मिला|{count} डॉक्यूमेंट मिलें", "theme.SearchPage.emptyResultsTitle": "डॉक्यूमेंटेशन में खोजें", "theme.SearchPage.existingResultsTitle": "\"{query}\" के लिए खोज परिणाम", - "theme.SearchPage.fetchingNewResults": "नए परिणाम प्राप्त कियें जा रहे हैं...", - "theme.SearchPage.inputLabel": "खोज करें", - "theme.SearchPage.inputPlaceholder": "अपनी खोज यहाँ टाइप करें", - "theme.SearchPage.noResultsText": "कोई परिणाम नहीं मिलें" + "theme.SearchPage.fetchingNewResults": "नए परिणाम प्राप्त कर रहे हैं...", + "theme.SearchPage.inputLabel": "खोजें", + "theme.SearchPage.inputPlaceholder": "यहाँ अपनी खोज टाइप करें", + "theme.SearchPage.noResultsText": "कोई परिणाम नहीं मिला", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json index 0bf7ebca2426..027a5ba8a083 100644 --- a/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json @@ -24,13 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Törölje ezt a keresést a kedvencekből", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Törölje ezt a keresést az előzményekből", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Mentsük el ezt a keresést", - "theme.SearchPage.algoliaLabel": "Keresés az Algolia segítségével", + "theme.SearchPage.algoliaLabel": "Az Algolia támogatásával", "theme.SearchPage.documentsFound.plurals": "Egy dokumentum|{count} dokumentumok", "theme.SearchPage.emptyResultsTitle": "Keresés a webhelyen", "theme.SearchPage.existingResultsTitle": "\"{query}\" keresési eredményei", "theme.SearchPage.fetchingNewResults": "Új keresési eredmények betöltése...", "theme.SearchPage.inputLabel": "Keresés", - "theme.SearchPage.inputPlaceholder": "Adja meg a keresendő kifejezést", - "theme.SearchPage.noResultsText": "Nincs találat a keresésre", - "theme.SearchPage.saveRecentSearchButtonTitle": "Mentse ezt a keresést" + "theme.SearchPage.inputPlaceholder": "Írja be a keresését ide", + "theme.SearchPage.noResultsText": "Nem található eredmény", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json index b294959d0058..ae6006b1730a 100644 --- a/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Hapus pencarian ini dari favorit", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Hapus pencarian ini dari riwayat", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Simpan pencarian ini", - "theme.SearchPage.algoliaLabel": "Pencarian oleh Algolia", + "theme.SearchPage.algoliaLabel": "Didukung oleh Algolia", "theme.SearchPage.documentsFound.plurals": "Satu dokumen ditemukan|{count} dokumen ditemukan", "theme.SearchPage.emptyResultsTitle": "Cari dokumentasi", "theme.SearchPage.existingResultsTitle": "Hasil pencarian untuk \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json index 547c0c080717..601fac734068 100644 --- a/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Fjarlægja þessa leit úr uppáhalds", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Fjarlægja þessa leit úr sögu", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Vista þessa leit", - "theme.SearchPage.algoliaLabel": "Leit með Algolia", + "theme.SearchPage.algoliaLabel": "Keyrt af Algolia", "theme.SearchPage.documentsFound.plurals": "Eitt skjal fannst|{count} skjöl fundust", "theme.SearchPage.emptyResultsTitle": "Leita í skjölun", "theme.SearchPage.existingResultsTitle": "Niðurstöður fyrir \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json index 0160450688ae..85ad9ce16398 100644 --- a/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Rimuovi questa ricerca dai preferiti", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Rimuovi questa ricerca dalla cronologia", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salva questa ricerca", - "theme.SearchPage.algoliaLabel": "Ricerca tramite Algolia", + "theme.SearchPage.algoliaLabel": "Fornito da Algolia", "theme.SearchPage.documentsFound.plurals": "Un documento trovato|{count} documenti trovati", "theme.SearchPage.emptyResultsTitle": "Cerca nella documentazione", "theme.SearchPage.existingResultsTitle": "Risultati di ricerca per \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json index fa0ffbacdca7..2eec0fe153b6 100644 --- a/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "この検索をお気に入りから削除", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "この検索を履歴から削除", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "この検索をお気に入りに追加", - "theme.SearchPage.algoliaLabel": "Algoliaで検索", + "theme.SearchPage.algoliaLabel": "Algolia提供", "theme.SearchPage.documentsFound.plurals": "{count}件のドキュメントが見つかりました", "theme.SearchPage.emptyResultsTitle": "ドキュメントを検索", "theme.SearchPage.existingResultsTitle": "『{query}』の検索結果", "theme.SearchPage.fetchingNewResults": "新しい検索結果を取得しています...", "theme.SearchPage.inputLabel": "検索", "theme.SearchPage.inputPlaceholder": "検索するキーワードを入力してください", - "theme.SearchPage.noResultsText": "検索結果が見つかりませんでした" + "theme.SearchPage.noResultsText": "検索結果が見つかりませんでした", + "theme.SearchModal.searchBox.placeholderText": "ドキュメントを検索", + "theme.SearchModal.searchBox.placeholderTextAskAi": "別の質問をする...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "回答中...", + "theme.SearchModal.searchBox.enterKeyHint": "検索", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "確定", + "theme.SearchModal.searchBox.searchInputLabel": "検索", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "キーワード検索に戻る", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "キーワード検索に戻る", + "theme.SearchModal.startScreen.recentConversationsTitle": "最近の会話", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "この会話を履歴から削除", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "AIに質問:", + "theme.SearchModal.askAiScreen.disclaimerText": "回答はAIによって生成されており、誤りがある可能性があります。必ず内容を確認してください。", + "theme.SearchModal.askAiScreen.relatedSourcesText": "関連ソース", + "theme.SearchModal.askAiScreen.thinkingText": "考え中...", + "theme.SearchModal.askAiScreen.copyButtonText": "コピー", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "コピーしました!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "コピー", + "theme.SearchModal.askAiScreen.likeButtonTitle": "いいね", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "よくない", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "フィードバックありがとうございます!", + "theme.SearchModal.askAiScreen.preToolCallText": "検索中...", + "theme.SearchModal.askAiScreen.duringToolCallText": "検索中:", + "theme.SearchModal.askAiScreen.afterToolCallText": "検索完了:", + "theme.SearchModal.footer.submitQuestionText": "質問を送信", + "theme.SearchModal.footer.backToSearchText": "検索に戻る" } diff --git a/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json index d1941ec17825..696aa567344f 100644 --- a/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "이 검색어를 즐겨찾기에서 삭제", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "이 검색어를 최근 검색어에서 삭제", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "이 검색어를 저장", - "theme.SearchPage.algoliaLabel": "Algolia로 검색", + "theme.SearchPage.algoliaLabel": "Algolia 제공", "theme.SearchPage.documentsFound.plurals": "{count}개의 문서를 찾았습니다.", "theme.SearchPage.emptyResultsTitle": "문서를 검색합니다.", "theme.SearchPage.existingResultsTitle": "\"{query}\" 검색 결과", "theme.SearchPage.fetchingNewResults": "새로운 검색 결과를 불러오는 중입니다.", "theme.SearchPage.inputLabel": "검색", "theme.SearchPage.inputPlaceholder": "검색어를 입력하세요.", - "theme.SearchPage.noResultsText": "검색 결과가 없습니다." + "theme.SearchPage.noResultsText": "검색 결과가 없습니다.", + "theme.SearchModal.searchBox.placeholderText": "문서 검색", + "theme.SearchModal.searchBox.placeholderTextAskAi": "다른 질문하기...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "답변 중...", + "theme.SearchModal.searchBox.enterKeyHint": "검색", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "입력", + "theme.SearchModal.searchBox.searchInputLabel": "검색", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "키워드 검색으로 돌아가기", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "키워드 검색으로 돌아가기", + "theme.SearchModal.startScreen.recentConversationsTitle": "최근 대화", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "이 대화를 기록에서 삭제", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "AI에게 질문: ", + "theme.SearchModal.askAiScreen.disclaimerText": "답변은 AI가 생성하며 오류가 있을 수 있습니다. 응답을 확인해주세요.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "관련 출처", + "theme.SearchModal.askAiScreen.thinkingText": "생각 중...", + "theme.SearchModal.askAiScreen.copyButtonText": "복사", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "복사됨!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "복사", + "theme.SearchModal.askAiScreen.likeButtonTitle": "좋아요", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "싫어요", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "피드백 감사합니다!", + "theme.SearchModal.askAiScreen.preToolCallText": "검색 중...", + "theme.SearchModal.askAiScreen.duringToolCallText": "검색 중: ", + "theme.SearchModal.askAiScreen.afterToolCallText": "검색 완료: ", + "theme.SearchModal.footer.submitQuestionText": "질문 제출", + "theme.SearchModal.footer.backToSearchText": "검색으로 돌아가기" } diff --git a/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json index 187141367773..5e95e38a4f1d 100644 --- a/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Fjern dette søket fra favoritter", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Fjern dette søket fra loggen", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Lagre dette søket", - "theme.SearchPage.algoliaLabel": "Søk med Algolia", + "theme.SearchPage.algoliaLabel": "Drevet av Algolia", "theme.SearchPage.documentsFound.plurals": "Ett dokument funnet|{count} dokumenter funnet", "theme.SearchPage.emptyResultsTitle": "Søk i dokumentasjonen", "theme.SearchPage.existingResultsTitle": "Søkeresultater for \"{query}\"", "theme.SearchPage.fetchingNewResults": "Henter nye resultater...", "theme.SearchPage.inputLabel": "Søk", "theme.SearchPage.inputPlaceholder": "Skriv inn søket ditt her", - "theme.SearchPage.noResultsText": "Ingen resultater ble funnet" + "theme.SearchPage.noResultsText": "Ingen resultater ble funnet", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json index 8b99bcd7a7bd..12d335d3eb20 100644 --- a/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Verwijder deze zoekopdracht uit mijn favorieten", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Verwijder deze zoekopdracht uit mijn geschiedenis", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Sla deze zoekopdracht op", - "theme.SearchPage.algoliaLabel": "Zoeken door Algolia", + "theme.SearchPage.algoliaLabel": "Aangedreven door Algolia", "theme.SearchPage.documentsFound.plurals": "Een document gevonden|{count} documenten gevonden", "theme.SearchPage.emptyResultsTitle": "Doorzoek de documentatie", "theme.SearchPage.existingResultsTitle": "Zoekresultaten voor \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json index bc4ab9d5f6cf..6fe2095ca6bf 100644 --- a/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Usuń to wyszukiwanie z ulubionych", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Usuń to wyszukiwanie z historii", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Zapisz to wyszukiwanie", - "theme.SearchPage.algoliaLabel": "Dostawca rozwiązania Algolia", + "theme.SearchPage.algoliaLabel": "Napędzane przez Algolia", "theme.SearchPage.documentsFound.plurals": "Jeden dokument znaleziony|{count} dokumenty znalezione|{count} dokumentów znalezionych", "theme.SearchPage.emptyResultsTitle": "Wyszukaj w dokumentacji", "theme.SearchPage.existingResultsTitle": "Wyniki wyszukiwania dla \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json index 83938b9c9083..5185a31a1cbf 100644 --- a/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remover esta busca dos favoritos", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remover esta busca do histórico", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salvar esta busca", - "theme.SearchPage.algoliaLabel": "Busca feita por Algolia", + "theme.SearchPage.algoliaLabel": "Desenvolvido por Algolia", "theme.SearchPage.documentsFound.plurals": "Um documento encontrado|{count} documentos encontrados", "theme.SearchPage.emptyResultsTitle": "Busca da documentação", "theme.SearchPage.existingResultsTitle": "Resultado da busca por \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json index 1d1ab1ef63c3..936f19d8ad1a 100644 --- a/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Pesquisa por Algolia", + "theme.SearchPage.algoliaLabel": "Desenvolvido por Algolia", "theme.SearchPage.documentsFound.plurals": "Um documento encontrado|{count} documentos encontrados", "theme.SearchPage.emptyResultsTitle": "Pesquisar pela documentação", "theme.SearchPage.existingResultsTitle": "Resultados da pesquisa por \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json index 39005aee5c24..b83362449d8d 100644 --- a/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Удалить запись из избранное", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Удалить запись из историю", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Сохранить поисковый запрос", - "theme.SearchPage.algoliaLabel": "Поиск от Algolia", + "theme.SearchPage.algoliaLabel": "При поддержке Algolia", "theme.SearchPage.documentsFound.plurals": "{count} документ|{count} документа|{count} документов", "theme.SearchPage.emptyResultsTitle": "Поиск по сайту", "theme.SearchPage.existingResultsTitle": "Результаты поиска по запросу \"{query}\"", "theme.SearchPage.fetchingNewResults": "Загрузка новых результатов поиска...", "theme.SearchPage.inputLabel": "Поиск", "theme.SearchPage.inputPlaceholder": "Введите фразу для поиска", - "theme.SearchPage.noResultsText": "По запросу ничего не найдено" + "theme.SearchPage.noResultsText": "По запросу ничего не найдено", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json index e2c1e41bc372..ff1aaa9c625d 100644 --- a/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Umakni iskanje iz priljubljenih", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Umakni iskanje iz zgodovine", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Shrani to iskanje", - "theme.SearchPage.algoliaLabel": "Iskanje Algolia", + "theme.SearchPage.algoliaLabel": "Poganja Algolia", "theme.SearchPage.documentsFound.plurals": "Dokument najden|Dokumenta najdena|{count} dokumenti najdeni|{count} dokumentov najdenih", "theme.SearchPage.emptyResultsTitle": "Išči po dokumentaciji", "theme.SearchPage.existingResultsTitle": "Rezultati iskanja za \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json index 4c6e05d55e0c..bec90616f62b 100644 --- a/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Претрага из Algolia", + "theme.SearchPage.algoliaLabel": "Покреће Algolia", "theme.SearchPage.documentsFound.plurals": "Један пронађен документ|{count} пронађених докумената", "theme.SearchPage.emptyResultsTitle": "Тражи документацију", "theme.SearchPage.existingResultsTitle": "Резултати за \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json index c5477d8b5988..039f0f96040a 100644 --- a/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Ta bort från favoriter", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Ta bort från historiken", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Lägg till som favorit", - "theme.SearchPage.algoliaLabel": "Sökning från Algolia", + "theme.SearchPage.algoliaLabel": "Drivs av Algolia", "theme.SearchPage.documentsFound.plurals": "Ett dokument hittades|{count} dokument hittades", "theme.SearchPage.emptyResultsTitle": "Sök genom dokumentationen", "theme.SearchPage.existingResultsTitle": "Sökresultat för \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json index 39627ef51613..2a5af8d5550f 100644 --- a/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Halaýan ýazgyny aýyrmak", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Taryh ýazgysyny aýyrmak", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Gözleg soragyny ýatda saklaň", - "theme.SearchPage.algoliaLabel": "Algolia tarapyndan gözleg", + "theme.SearchPage.algoliaLabel": "Algolia tarapyndan goldanylýar", "theme.SearchPage.documentsFound.plurals": "{count} dokument|{count} dokumentler", "theme.SearchPage.emptyResultsTitle": "Sahypada gözleg", "theme.SearchPage.existingResultsTitle": "\"{query}\" boýunça gözleg netijeleri", diff --git a/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json index 04b00b96902b..353f166aadc8 100644 --- a/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json @@ -24,7 +24,7 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Bu aramayı favorilerden kaldır", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Bu aramayı geçmişten kaldır", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Bu aramayı kaydet", - "theme.SearchPage.algoliaLabel": "Algolia ile Ara", + "theme.SearchPage.algoliaLabel": "Algolia tarafından desteklenmektedir", "theme.SearchPage.documentsFound.plurals": "Bir döküman bulundu|{count} döküman bulundu", "theme.SearchPage.emptyResultsTitle": "Dokümanlarda ara", "theme.SearchPage.existingResultsTitle": "Arama sonuçları", diff --git a/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json index 263ee92511e0..85e578ab3dcc 100644 --- a/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Видалити цей пошук з обраного", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Видалити цей пошук з історії", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Зберегти цей пошук", - "theme.SearchPage.algoliaLabel": "Пошук за допомогою Algolia", + "theme.SearchPage.algoliaLabel": "Працює на Algolia", "theme.SearchPage.documentsFound.plurals": "{count} документ|{count} документи|{count} документів", "theme.SearchPage.emptyResultsTitle": "Пошук по сайту", "theme.SearchPage.existingResultsTitle": "Результати пошуку за запитом \"{query}\"", "theme.SearchPage.fetchingNewResults": "Завантаження нових результатів пошуку...", "theme.SearchPage.inputLabel": "Пошук", - "theme.SearchPage.inputPlaceholder": "Введіть фразу для пошуку", - "theme.SearchPage.noResultsText": "За запитом нічого не знайдено" + "theme.SearchPage.inputPlaceholder": "Введіть ваш пошук тут", + "theme.SearchPage.noResultsText": "Не знайдено результатів", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json index 664f86539cb7..bee6504f44bd 100644 --- a/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Xóa tìm kiếm này khỏi danh sách yêu thích", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Xóa tìm kiếm này khỏi lịch sử", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Lưu tìm kiếm này", - "theme.SearchPage.algoliaLabel": "Tìm kiếm với Algolia", + "theme.SearchPage.algoliaLabel": "Được cung cấp bởi Algolia", "theme.SearchPage.documentsFound.plurals": "Tìm thấy {count} kết quả", "theme.SearchPage.emptyResultsTitle": "Tìm kiếm", "theme.SearchPage.existingResultsTitle": "Kết quả tìm kiếm cho \"{query}\"", "theme.SearchPage.fetchingNewResults": "Đang tải thêm kết quả...", "theme.SearchPage.inputLabel": "Tìm kiếm", - "theme.SearchPage.inputPlaceholder": "Nhập từ khóa cần tìm vào đây", - "theme.SearchPage.noResultsText": "Không tìm thấy kết quả nào" + "theme.SearchPage.inputPlaceholder": "Nhập tìm kiếm của bạn ở đây", + "theme.SearchPage.noResultsText": "Không tìm thấy kết quả", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json index fb86932938f7..ddbb0eb9506e 100644 --- a/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "从收藏列表中删除这个搜索", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "从历史记录中删除这个搜索", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "保存这个搜索", - "theme.SearchPage.algoliaLabel": "通过 Algolia 搜索", + "theme.SearchPage.algoliaLabel": "由 Algolia 提供", "theme.SearchPage.documentsFound.plurals": "找到 {count} 份文件", "theme.SearchPage.emptyResultsTitle": "在文档中搜索", "theme.SearchPage.existingResultsTitle": "「{query}」的搜索结果", "theme.SearchPage.fetchingNewResults": "正在获取新的搜索结果...", "theme.SearchPage.inputLabel": "搜索", - "theme.SearchPage.inputPlaceholder": "在此输入搜索字词", - "theme.SearchPage.noResultsText": "未找到任何结果" + "theme.SearchPage.inputPlaceholder": "在此输入搜索词", + "theme.SearchPage.noResultsText": "未找到结果", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json index 9e71d665614c..bee854b84993 100644 --- a/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json @@ -24,12 +24,37 @@ "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "從收藏列表中刪除這個搜尋", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "從歷史記錄中刪除這個搜尋", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "保存這個搜尋", - "theme.SearchPage.algoliaLabel": "透過 Algolia 搜尋", + "theme.SearchPage.algoliaLabel": "由 Algolia 提供", "theme.SearchPage.documentsFound.plurals": "找到 {count} 份文件", "theme.SearchPage.emptyResultsTitle": "在文件中搜尋", "theme.SearchPage.existingResultsTitle": "「{query}」的搜尋結果", "theme.SearchPage.fetchingNewResults": "正在取得新的搜尋結果...", "theme.SearchPage.inputLabel": "搜尋", - "theme.SearchPage.inputPlaceholder": "在此輸入搜尋字詞", - "theme.SearchPage.noResultsText": "未找到任何結果" + "theme.SearchPage.inputPlaceholder": "在此輸入搜尋詞", + "theme.SearchPage.noResultsText": "未找到結果", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.backToSearchText": "Back to search" } diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 7ed001e3e056..750d3e01830f 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -655,6 +655,7 @@ export default async function createConfigAsync() { appId: 'X1Z85QJPUV', apiKey: 'bf7211c161e8205da2f933a02534105a', indexName: 'docusaurus-2', + askAi: 'RgIMYFUmTfrN', replaceSearchResultPathname: isDev || isDeployPreview ? { diff --git a/yarn.lock b/yarn.lock index b1d51b9392fb..f102deec7d6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,153 +2,188 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" - integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== +"@ai-sdk/provider-utils@2.2.8": + version "2.2.8" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz#ad11b92d5a1763ab34ba7b5fc42494bfe08b76d1" + integrity sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA== dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" - "@algolia/autocomplete-shared" "1.17.9" + "@ai-sdk/provider" "1.1.3" + nanoid "^3.3.8" + secure-json-parse "^2.7.0" -"@algolia/autocomplete-plugin-algolia-insights@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" - integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== - dependencies: - "@algolia/autocomplete-shared" "1.17.9" - -"@algolia/autocomplete-preset-algolia@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" - integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== - dependencies: - "@algolia/autocomplete-shared" "1.17.9" - -"@algolia/autocomplete-shared@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" - integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== - -"@algolia/client-abtesting@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.17.1.tgz#cd591627245e2a4f2a978e51df5507b62d74b664" - integrity sha512-Os/xkQbDp5A5RdGYq1yS3fF69GoBJH5FIfrkVh+fXxCSe714i1Xdl9XoXhS4xG76DGKm6EFMlUqP024qjps8cg== - dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" - -"@algolia/client-analytics@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.17.1.tgz#32d5670b2640a44415dd58fc4b65a032dcfb7c29" - integrity sha512-WKpGC+cUhmdm3wndIlTh8RJXoVabUH+4HrvZHC4hXtvCYojEXYeep8RZstatwSZ7Ocg6Y2u67bLw90NEINuYEw== - dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" - -"@algolia/client-common@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.17.1.tgz#9e75b4bfd510bf1fd39ec0abfb742958e6e2a144" - integrity sha512-5rb5+yPIie6912riAypTSyzbE23a7UM1UpESvD8GEPI4CcWQvA9DBlkRNx9qbq/nJ5pvv8VjZjUxJj7rFkzEAA== - -"@algolia/client-insights@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.17.1.tgz#af6f5cbb97c35ab12b32872c6fb9f64d99234369" - integrity sha512-nb/tfwBMn209TzFv1DDTprBKt/wl5btHVKoAww9fdEVdoKK02R2KAqxe5tuXLdEzAsS+LevRyOM/YjXuLmPtjQ== - dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" - -"@algolia/client-personalization@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.17.1.tgz#4df4781347d7bd493403604841376fef3c79f80f" - integrity sha512-JuNlZe1SdW9KbV0gcgdsiVkFfXt0mmPassdS3cBSGvZGbPB9JsHthD719k5Y6YOY4dGvw1JmC1i9CwCQHAS8hg== +"@ai-sdk/provider@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-1.1.3.tgz#ebdda8077b8d2b3f290dcba32c45ad19b2704681" + integrity sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + json-schema "^0.4.0" -"@algolia/client-query-suggestions@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.17.1.tgz#df3ceaada101f0265f08bf7911e0dd40d9b8f6e5" - integrity sha512-RBIFIv1QE3IlAikJKWTOpd6pwE4d2dY6t02iXH7r/SLXWn0HzJtsAPPeFg/OKkFvWAXt0H7In2/Mp7a1/Dy2pw== - dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" - -"@algolia/client-search@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.17.1.tgz#ff5e699bfae2786f08557960a74afbfb94ba7930" - integrity sha512-bd5JBUOP71kPsxwDcvOxqtqXXVo/706NFifZ/O5Rx5GB8ZNVAhg4l7aGoT6jBvEfgmrp2fqPbkdIZ6JnuOpGcw== - dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" +"@ai-sdk/react@^1.2.12": + version "1.2.12" + resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-1.2.12.tgz#f4250b6df566b170af98a71d5708b52108dd0ce1" + integrity sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g== + dependencies: + "@ai-sdk/provider-utils" "2.2.8" + "@ai-sdk/ui-utils" "1.2.11" + swr "^2.2.5" + throttleit "2.1.0" + +"@ai-sdk/ui-utils@1.2.11": + version "1.2.11" + resolved "https://registry.yarnpkg.com/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz#4f815589d08d8fef7292ade54ee5db5d09652603" + integrity sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w== + dependencies: + "@ai-sdk/provider" "1.1.3" + "@ai-sdk/provider-utils" "2.2.8" + zod-to-json-schema "^3.24.1" + +"@algolia/autocomplete-core@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz#702df67a08cb3cfe8c33ee1111ef136ec1a9e232" + integrity sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.19.2" + "@algolia/autocomplete-shared" "1.19.2" + +"@algolia/autocomplete-plugin-algolia-insights@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz#3584b625b9317e333d1ae43664d02358e175c52d" + integrity sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg== + dependencies: + "@algolia/autocomplete-shared" "1.19.2" + +"@algolia/autocomplete-preset-algolia@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.19.2.tgz#c6c1e1ff7b011090a70e66b02e6db4ebade4535e" + integrity sha512-/Z9tDn84fnyUyjajvWRskOX7p/BDKK5PidEA4Y/aAl0c6VfHu5dMkTDG090CIiskLUgpkHacLbz+A10gMBP++Q== + dependencies: + "@algolia/autocomplete-shared" "1.19.2" + +"@algolia/autocomplete-shared@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" + integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w== + +"@algolia/client-abtesting@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.32.0.tgz#b9ce496665c5385ef09d2297e280381c78598e9d" + integrity sha512-HG/6Eib6DnJYm/B2ijWFXr4txca/YOuA4K7AsEU0JBrOZSB+RU7oeDyNBPi3c0v0UDDqlkBqM3vBU/auwZlglA== + dependencies: + "@algolia/client-common" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" + +"@algolia/client-analytics@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.32.0.tgz#844ae80626bdaa1b5a1750b538db585734ec70ee" + integrity sha512-8Y9MLU72WFQOW3HArYv16+Wvm6eGmsqbxxM1qxtm0hvSASJbxCm+zQAZe5stqysTlcWo4BJ82KEH1PfgHbJAmQ== + dependencies: + "@algolia/client-common" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" + +"@algolia/client-common@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.32.0.tgz#468b36d0ee7c9c64bafc62099475a1889d032196" + integrity sha512-w8L+rgyXMCPBKmEdOT+RfgMrF0mT6HK60vPYWLz8DBs/P7yFdGo7urn99XCJvVLMSKXrIbZ2FMZ/i50nZTXnuQ== + +"@algolia/client-insights@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.32.0.tgz#18c4011a782b8ab8bb73af5afbc8aca1a16474d7" + integrity sha512-AdWfynhUeX7jz/LTiFU3wwzJembTbdLkQIOLs4n7PyBuxZ3jz4azV1CWbIP8AjUOFmul6uXbmYza+KqyS5CzOA== + dependencies: + "@algolia/client-common" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" + +"@algolia/client-personalization@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.32.0.tgz#3b3fd95f8c437ed5becfa4ec97f3c3b8396d5a20" + integrity sha512-bTupJY4xzGZYI4cEQcPlSjjIEzMvv80h7zXGrXY1Y0KC/n/SLiMv84v7Uy+B6AG1Kiy9FQm2ADChBLo1uEhGtQ== + dependencies: + "@algolia/client-common" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" + +"@algolia/client-query-suggestions@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.32.0.tgz#4582f47f120da89029d3511818342c0a90a22f62" + integrity sha512-if+YTJw1G3nDKL2omSBjQltCHUQzbaHADkcPQrGFnIGhVyHU3Dzq4g46uEv8mrL5sxL8FjiS9LvekeUlL2NRqw== + dependencies: + "@algolia/client-common" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" + +"@algolia/client-search@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.32.0.tgz#0e3b4775bf98e9215b683d598d0fce2d94b7b062" + integrity sha512-kmK5nVkKb4DSUgwbveMKe4X3xHdMsPsOVJeEzBvFJ+oS7CkBPmpfHAEq+CcmiPJs20YMv6yVtUT9yPWL5WgAhg== + dependencies: + "@algolia/client-common" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" "@algolia/events@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/ingestion@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.17.1.tgz#e11cadca936a05f40d54f6ece5dc07d206e15048" - integrity sha512-T18tvePi1rjRYcIKhd82oRukrPWHxG/Iy1qFGaxCplgRm9Im5z96qnYOq75MSKGOUHkFxaBKJOLmtn8xDR+Mcw== +"@algolia/ingestion@1.32.0": + version "1.32.0" + resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.32.0.tgz#4ab08b4c72205c8727dfafeefc4651a07ea2ed9d" + integrity sha512-PZTqjJbx+fmPuT2ud1n4vYDSF1yrT//vOGI9HNYKNA0PM0xGUBWigf5gRivHsXa3oBnUlTyHV9j7Kqx5BHbVHQ== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/client-common" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" -"@algolia/monitoring@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.17.1.tgz#c5fa1a0fe2bd07ed954e8925c7d8fb196bab427f" - integrity sha512-gDtow+AUywTehRP8S1tWKx2IvhcJOxldAoqBxzN3asuQobF7er5n72auBeL++HY4ImEuzMi7PDOA/Iuwxs2IcA== +"@algolia/monitoring@1.32.0": + version "1.32.0" + resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.32.0.tgz#6c9343081184e40c3bf0a4c01b96ac3d8c0c2190" + integrity sha512-kYYoOGjvNQAmHDS1v5sBj+0uEL9RzYqH/TAdq8wmcV+/22weKt/fjh+6LfiqkS1SCZFYYrwGnirrUhUM36lBIQ== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/client-common" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" -"@algolia/recommend@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.17.1.tgz#42c296d39ba967c89410fb46b28721010bca59ec" - integrity sha512-2992tTHkRe18qmf5SP57N78kN1D3e5t4PO1rt10sJncWtXBZWiNOK6K/UcvWsFbNSGAogFcIcvIMAl5mNp6RWA== +"@algolia/recommend@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.32.0.tgz#fb508fc35bc0ad2f549fe520e4961733081f334c" + integrity sha512-jyIBLdskjPAL7T1g57UMfUNx+PzvYbxKslwRUKBrBA6sNEsYCFdxJAtZSLUMmw6MC98RDt4ksmEl5zVMT5bsuw== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/client-common" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" -"@algolia/requester-browser-xhr@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.17.1.tgz#e924954aa5c4f223be86ee38b2536959a7755560" - integrity sha512-XpKgBfyczVesKgr7DOShNyPPu5kqlboimRRPjdqAw5grSyHhCmb8yoTIKy0TCqBABZeXRPMYT13SMruUVRXvHA== +"@algolia/requester-browser-xhr@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.32.0.tgz#17617ec3b1ec304f9ff43f7eee482766aa7b49e0" + integrity sha512-eDp14z92Gt6JlFgiexImcWWH+Lk07s/FtxcoDaGrE4UVBgpwqOO6AfQM6dXh1pvHxlDFbMJihHc/vj3gBhPjqQ== dependencies: - "@algolia/client-common" "5.17.1" + "@algolia/client-common" "5.32.0" -"@algolia/requester-fetch@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.17.1.tgz#2d0385db7a08ce219325a001766065fa1e0d3c33" - integrity sha512-EhUomH+DZP5vb6DnEjT0GvXaXBSwzZnuU6hPGNU1EYKRXDouRjII/bIWpVjt7ycMgL2D2oQruqDh6rAWUhQwRw== +"@algolia/requester-fetch@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.32.0.tgz#4d388574c0cce3edcd430d915c136d94c6ea0d4b" + integrity sha512-rnWVglh/K75hnaLbwSc2t7gCkbq1ldbPgeIKDUiEJxZ4mlguFgcltWjzpDQ/t1LQgxk9HdIFcQfM17Hid3aQ6Q== dependencies: - "@algolia/client-common" "5.17.1" + "@algolia/client-common" "5.32.0" -"@algolia/requester-node-http@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.17.1.tgz#d42dcafb6784409252a27ee60055b4ce83ee2937" - integrity sha512-PSnENJtl4/wBWXlGyOODbLYm6lSiFqrtww7UpQRCJdsHXlJKF8XAP6AME8NxvbE0Qo/RJUxK0mvyEh9sQcx6bg== +"@algolia/requester-node-http@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.32.0.tgz#ef7d878e62c30d97e7588ad05752bb080f52a90e" + integrity sha512-LbzQ04+VLkzXY4LuOzgyjqEv/46Gwrk55PldaglMJ4i4eDXSRXGKkwJpXFwsoU+c1HMQlHIyjJBhrfsfdyRmyQ== dependencies: - "@algolia/client-common" "5.17.1" + "@algolia/client-common" "5.32.0" "@ampproject/remapping@^2.2.0": version "2.3.0" @@ -2040,20 +2075,22 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" - integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== +"@docsearch/css@4.0.0-beta.1": + version "4.0.0-beta.1" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.1.tgz#609407c55c9fe333279362dde45fe280338ecf40" + integrity sha512-0gz3zy5ygHT048FRVcmk1i8XQhVye42In04FlknABzjpNOOBjfvlIuewIFJKDYoCh8Aq3+15Jy3akkb6bNBTxA== -"@docsearch/react@^3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" - integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== +"@docsearch/react@beta": + version "4.0.0-beta.1" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.1.tgz#23821de4ea546cb75036a1fc909298aa072fb5bf" + integrity sha512-XPxHMzfD+FBEAkXPt0g64Mc06Q3plevAuIzQMnW6b5slVbVM8xH3Dmi0eXx9LLVVnV2mji6q2OKm/ET6QWxHVw== dependencies: - "@algolia/autocomplete-core" "1.17.9" - "@algolia/autocomplete-preset-algolia" "1.17.9" - "@docsearch/css" "3.9.0" - algoliasearch "^5.14.2" + "@ai-sdk/react" "^1.2.12" + "@algolia/autocomplete-core" "1.19.2" + "@algolia/autocomplete-preset-algolia" "1.19.2" + "@docsearch/css" "4.0.0-beta.1" + algoliasearch "^5.28.0" + marked "^15.0.12" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -5131,24 +5168,24 @@ algoliasearch-helper@^3.22.6: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.14.2, algoliasearch@^5.17.1: - version "5.17.1" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.17.1.tgz#8c8879dbf77ba38a3150d19ab8321c8d60b83035" - integrity sha512-3CcbT5yTWJDIcBe9ZHgsPi184SkT1kyZi3GWlQU5EFgvq1V73X2sqHRkPCQMe0RA/uvZbB+1sFeAk73eWygeLg== - dependencies: - "@algolia/client-abtesting" "5.17.1" - "@algolia/client-analytics" "5.17.1" - "@algolia/client-common" "5.17.1" - "@algolia/client-insights" "5.17.1" - "@algolia/client-personalization" "5.17.1" - "@algolia/client-query-suggestions" "5.17.1" - "@algolia/client-search" "5.17.1" - "@algolia/ingestion" "1.17.1" - "@algolia/monitoring" "1.17.1" - "@algolia/recommend" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" +algoliasearch@^5.17.1, algoliasearch@^5.28.0: + version "5.32.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.32.0.tgz#2b9d17c4592b573146e3a2322a563aef68d473e3" + integrity sha512-84xBncKNPBK8Ae89F65+SyVcOihrIbm/3N7to+GpRBHEUXGjA3ydWTMpcRW6jmFzkBQ/eqYy/y+J+NBpJWYjBg== + dependencies: + "@algolia/client-abtesting" "5.32.0" + "@algolia/client-analytics" "5.32.0" + "@algolia/client-common" "5.32.0" + "@algolia/client-insights" "5.32.0" + "@algolia/client-personalization" "5.32.0" + "@algolia/client-query-suggestions" "5.32.0" + "@algolia/client-search" "5.32.0" + "@algolia/ingestion" "1.32.0" + "@algolia/monitoring" "1.32.0" + "@algolia/recommend" "5.32.0" + "@algolia/requester-browser-xhr" "5.32.0" + "@algolia/requester-fetch" "5.32.0" + "@algolia/requester-node-http" "5.32.0" ansi-align@^3.0.1: version "3.0.1" @@ -7703,7 +7740,7 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -dequal@^2.0.0: +dequal@^2.0.0, dequal@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -12146,10 +12183,10 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== -marked@^15.0.7: - version "15.0.8" - resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.8.tgz#39873a3fdf91a520111e48aeb2ef3746d58d7166" - integrity sha512-rli4l2LyZqpQuRve5C0rkn6pj3hT8EWPC+zkAxFTAJLxRbENfTAhEQq9itrmf1Y81QtAX5D/MYlGlIomNgj9lA== +marked@^15.0.12, marked@^15.0.7: + version "15.0.12" + resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e" + integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA== math-intrinsics@^1.1.0: version "1.1.0" @@ -13248,7 +13285,7 @@ mz@^2.4.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11: +nanoid@^3.3.11, nanoid@^3.3.8: version "3.3.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== @@ -16292,6 +16329,11 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" +secure-json-parse@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" + integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -17325,6 +17367,14 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" +swr@^2.2.5: + version "2.3.4" + resolved "https://registry.yarnpkg.com/swr/-/swr-2.3.4.tgz#60bcb5b97cae157a6ef69eff0ed2beb9010eba69" + integrity sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg== + dependencies: + dequal "^2.0.3" + use-sync-external-store "^1.4.0" + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -17494,6 +17544,11 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" +throttleit@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-2.1.0.tgz#a7e4aa0bf4845a5bd10daa39ea0c783f631a07b4" + integrity sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw== + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -18165,6 +18220,11 @@ use-editable@^2.3.3: resolved "https://registry.yarnpkg.com/use-editable/-/use-editable-2.3.3.tgz#a292fe9ba4c291cd28d1cc2728c75a5fc8d9a33f" integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA== +use-sync-external-store@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" + integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -19057,6 +19117,11 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== +zod-to-json-schema@^3.24.1: + version "3.24.6" + resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz#5920f020c4d2647edfbb954fa036082b92c9e12d" + integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg== + zod-validation-error@^3.0.3: version "3.4.0" resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" From a990dfd7758b04929abdcf5bf2b96e0d84e4fbc2 Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Tue, 15 Jul 2025 13:06:39 +0200 Subject: [PATCH 02/53] fix: update search docs --- website/docs/search.mdx | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/website/docs/search.mdx b/website/docs/search.mdx index c3264f62ca18..7709d2e3416d 100644 --- a/website/docs/search.mdx +++ b/website/docs/search.mdx @@ -127,6 +127,9 @@ export default { // Optional: whether the insights feature is enabled or not on Docsearch (`false` by default) insights: false, + // Optional: incase you want to use the new ask ai feature + askAi: 'YOUR_ALGOLIA_ASK_AI_ASSISTANT_ID', + //... other Algolia params }, // highlight-end @@ -214,6 +217,49 @@ If you only get search results when Contextual Search is disabled, this is very ::: +### Ask AI {#ask-ai} + +Ask AI is a new feature that allows you to ask questions about your documentation. It is only available with the latest version of DocSearch (v4). + +Ask AI brings the power of AI to your documentation: + +- **Conversational search:** Users can ask questions in natural language and get context-aware answers. +- **Completely free:** Ask AI is available at no additional cost. You'll pay only for the LLM usage to your provider. +- **BYOLLM (Bring Your Own LLM):** You can use your own language model provider, giving you full control over the AI experience. +- **Direct Algolia index integration:** The provider/models retrieve relevant context directly from your Algolia index, ensuring accurate and up-to-date answers. +- **Recently asked & conversation history:** Easily revisit your recent questions and jump back into previous Ask AI conversations. +- **Seamless integration:** Ask AI is available directly from the search modal. + +To enable it, you need to add the `askAi` field to your `algolia` field in the `docusaurus.config.js` file. + +```js title="docusaurus.config.js" +export default { + // ... + themeConfig: { + // ... + algolia: { + // highlight-start + askAi: 'YOUR_ALGOLIA_ASK_AI_ASSISTANT_ID', + // highlight-end + + // OR with custom parameters + askAi: { + assistantId: 'YOUR_ALGOLIA_ASK_AI_ASSISTANT_ID', + indexName: 'YOUR_ALGOLIA_INDEX_NAME', + apiKey: 'YOUR_ALGOLIA_API_KEY', + appId: 'YOUR_ALGOLIA_APP_ID', + }, + }, + }, +}; +``` + +:::info + +To use Ask AI, you need to have an Algolia index with the Ask AI assistant enabled. Learn more about how to [setup Ask AI](https://docsearch.algolia.com/docs/v4/ask-ai/create-an-assistant/). + +::: + ### Styling your Algolia search {#styling-your-algolia-search} By default, DocSearch comes with a fine-tuned theme that was designed for accessibility, making sure that colors and contrasts respect standards. From 9a72c1745ddc84ef5b4130d0e43b1727b7403814 Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Wed, 16 Jul 2025 10:35:40 +0200 Subject: [PATCH 03/53] fix: checks --- .../locales/ar/theme-search-algolia.json | 52 +++---- .../locales/base/theme-search-algolia.json | 147 +++++++++--------- .../locales/bg/theme-search-algolia.json | 52 +++---- .../locales/bn/theme-search-algolia.json | 52 +++---- .../locales/cs/theme-search-algolia.json | 52 +++---- .../locales/da/theme-search-algolia.json | 52 +++---- .../locales/de/theme-search-algolia.json | 52 +++---- .../locales/es/theme-search-algolia.json | 52 +++---- .../locales/et/theme-search-algolia.json | 52 +++---- .../locales/fa/theme-search-algolia.json | 52 +++---- .../locales/fil/theme-search-algolia.json | 52 +++---- .../locales/fr/theme-search-algolia.json | 52 +++---- .../locales/he/theme-search-algolia.json | 52 +++---- .../locales/hi/theme-search-algolia.json | 52 +++---- .../locales/hu/theme-search-algolia.json | 52 +++---- .../locales/id/theme-search-algolia.json | 25 +++ .../locales/is/theme-search-algolia.json | 25 +++ .../locales/it/theme-search-algolia.json | 25 +++ .../locales/ja/theme-search-algolia.json | 52 +++---- .../locales/ko/theme-search-algolia.json | 52 +++---- .../locales/nb/theme-search-algolia.json | 52 +++---- .../locales/nl/theme-search-algolia.json | 25 +++ .../locales/pl/theme-search-algolia.json | 25 +++ .../locales/pt-BR/theme-search-algolia.json | 25 +++ .../locales/pt-PT/theme-search-algolia.json | 25 +++ .../locales/ru/theme-search-algolia.json | 52 +++---- .../locales/sl/theme-search-algolia.json | 25 +++ .../locales/sr/theme-search-algolia.json | 25 +++ .../locales/sv/theme-search-algolia.json | 25 +++ .../locales/tk/theme-search-algolia.json | 25 +++ .../locales/tr/theme-search-algolia.json | 25 +++ .../locales/uk/theme-search-algolia.json | 52 +++---- .../locales/vi/theme-search-algolia.json | 52 +++---- .../locales/zh-Hans/theme-search-algolia.json | 52 +++---- .../locales/zh-Hant/theme-search-algolia.json | 52 +++---- website/docs/search.mdx | 6 + website/docusaurus.config.ts | 1 + 37 files changed, 951 insertions(+), 647 deletions(-) diff --git a/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json index 23923aa1e6b9..5b1e7c9d8503 100644 --- a/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "بحث", "theme.SearchBar.seeAll": "مشاهدة جميع {count} نتائج", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Search by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", "theme.SearchPage.algoliaLabel": "مدعوم من Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "جلب نتائج جديدة ...", "theme.SearchPage.inputLabel": "بحث", "theme.SearchPage.inputPlaceholder": "اكتب ما تبحث عنه هنا", - "theme.SearchPage.noResultsText": "لم يتم العثور على نتائج", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "لم يتم العثور على نتائج" } diff --git a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json index 33777d9e991c..d941819b5836 100644 --- a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json @@ -2,54 +2,101 @@ "theme.SearchBar.label": "Search", "theme.SearchBar.label___DESCRIPTION": "The ARIA label and placeholder for search button", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.afterToolCallText___DESCRIPTION": "The text after tool call", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonCopiedText___DESCRIPTION": "The text for copy button when copied", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonText___DESCRIPTION": "The text for copy button", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle___DESCRIPTION": "The title for copy button", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.disclaimerText___DESCRIPTION": "The disclaimer text for AI answers", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.dislikeButtonTitle___DESCRIPTION": "The title for dislike button", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.duringToolCallText___DESCRIPTION": "The text during tool call", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.likeButtonTitle___DESCRIPTION": "The title for like button", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.preToolCallText___DESCRIPTION": "The text before tool call", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.relatedSourcesText___DESCRIPTION": "The text for related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thanksForFeedbackText___DESCRIPTION": "The text for thanks for feedback", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.thinkingText___DESCRIPTION": "The text when AI is thinking", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", - "theme.SearchModal.errorScreen.helpText___DESCRIPTION": "The help text for error screen of search modal", + "theme.SearchModal.errorScreen.helpText___DESCRIPTION": "The help text for error screen", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", - "theme.SearchModal.errorScreen.titleText___DESCRIPTION": "The title for error screen of search modal", + "theme.SearchModal.errorScreen.titleText___DESCRIPTION": "The title for error screen", + "theme.SearchModal.footer.backToSearchText": "Back to search", + "theme.SearchModal.footer.backToSearchText___DESCRIPTION": "The back to search text for footer", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", - "theme.SearchModal.footer.closeKeyAriaLabel___DESCRIPTION": "The ARIA label for the Escape key button that close the modal", - "theme.SearchModal.footer.closeText": "to close", - "theme.SearchModal.footer.closeText___DESCRIPTION": "The explanatory text of the action for Escape key", + "theme.SearchModal.footer.closeKeyAriaLabel___DESCRIPTION": "The ARIA label for close key in footer", + "theme.SearchModal.footer.closeText": "Close", + "theme.SearchModal.footer.closeText___DESCRIPTION": "The close text for footer", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", - "theme.SearchModal.footer.navigateDownKeyAriaLabel___DESCRIPTION": "The ARIA label for the Arrow down key button that makes the navigation", - "theme.SearchModal.footer.navigateText": "to navigate", - "theme.SearchModal.footer.navigateText___DESCRIPTION": "The explanatory text of the action for the Arrow up and Arrow down key", + "theme.SearchModal.footer.navigateDownKeyAriaLabel___DESCRIPTION": "The ARIA label for navigate down key in footer", + "theme.SearchModal.footer.navigateText": "Navigate", + "theme.SearchModal.footer.navigateText___DESCRIPTION": "The navigate text for footer", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.navigateUpKeyAriaLabel___DESCRIPTION": "The ARIA label for the Arrow up key button that makes the navigation", + "theme.SearchModal.footer.navigateUpKeyAriaLabel___DESCRIPTION": "The ARIA label for navigate up key in footer", "theme.SearchModal.footer.searchByText": "Search by", - "theme.SearchModal.footer.searchByText___DESCRIPTION": "The text explain that the search is making by Algolia", + "theme.SearchModal.footer.searchByText___DESCRIPTION": "The search by text for footer", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", - "theme.SearchModal.footer.selectKeyAriaLabel___DESCRIPTION": "The ARIA label for the Enter key button that makes the selection", - "theme.SearchModal.footer.selectText": "to select", - "theme.SearchModal.footer.selectText___DESCRIPTION": "The explanatory text of the action for the enter key", - "theme.SearchModal.noResultsScreen.noResultsText": "No results for", - "theme.SearchModal.noResultsScreen.noResultsText___DESCRIPTION": "The text explains that there are no results for the following search", + "theme.SearchModal.footer.selectKeyAriaLabel___DESCRIPTION": "The ARIA label for select key in footer", + "theme.SearchModal.footer.selectText": "Select", + "theme.SearchModal.footer.selectText___DESCRIPTION": "The select text for footer", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.submitQuestionText___DESCRIPTION": "The submit question text for footer", + "theme.SearchModal.noResultsScreen.noResultsText": "No results found for", + "theme.SearchModal.noResultsScreen.noResultsText___DESCRIPTION": "The text when there are no results", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", - "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText___DESCRIPTION": "The text for the link to report missing results", + "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText___DESCRIPTION": "The link text for reporting missing results", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", - "theme.SearchModal.noResultsScreen.reportMissingResultsText___DESCRIPTION": "The text for the question where the user thinks there are missing results", + "theme.SearchModal.noResultsScreen.reportMissingResultsText___DESCRIPTION": "The text for reporting missing results", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", - "theme.SearchModal.noResultsScreen.suggestedQueryText___DESCRIPTION": "The text for the suggested query when no results are found for the following search", + "theme.SearchModal.noResultsScreen.suggestedQueryText___DESCRIPTION": "The text for suggested query", "theme.SearchModal.placeholder": "Search docs", - "theme.SearchModal.placeholder___DESCRIPTION": "The placeholder of the input of the DocSearch pop-up modal", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.resultsScreen.askAiPlaceholder___DESCRIPTION": "The placeholder text for ask AI input", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel___DESCRIPTION": "The ARIA label for back to keyword search button", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText___DESCRIPTION": "The text for back to keyword search button", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", "theme.SearchModal.searchBox.cancelButtonText___DESCRIPTION": "The label and ARIA label for search box cancel button", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderText___DESCRIPTION": "The placeholder text for the main search input field", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAi___DESCRIPTION": "The placeholder text when in AI question mode", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming___DESCRIPTION": "The placeholder text for search box when AI is streaming an answer", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", "theme.SearchModal.searchBox.resetButtonTitle___DESCRIPTION": "The label and ARIA label for search box reset button", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.searchInputLabel___DESCRIPTION": "The ARIA label for search input", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.favoriteSearchesTitle___DESCRIPTION": "The title for favorite searches", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", - "theme.SearchModal.startScreen.noRecentSearchesText___DESCRIPTION": "The text when no recent searches", + "theme.SearchModal.startScreen.noRecentSearchesText___DESCRIPTION": "The text when there are no recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.recentConversationsTitle___DESCRIPTION": "The title for recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.recentSearchesTitle___DESCRIPTION": "The title for recent searches", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle___DESCRIPTION": "The label for remove favorite search button", + "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle___DESCRIPTION": "The title for remove favorite search button", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle___DESCRIPTION": "The title for remove recent conversation button", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle___DESCRIPTION": "The label for remove recent search button", + "theme.SearchModal.startScreen.removeRecentSearchButtonTitle___DESCRIPTION": "The title for remove recent search button", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle___DESCRIPTION": "The label for save recent search button", + "theme.SearchModal.startScreen.saveRecentSearchButtonTitle___DESCRIPTION": "The title for save recent search button", "theme.SearchPage.algoliaLabel": "Powered by Algolia", - "theme.SearchPage.algoliaLabel___DESCRIPTION": "The ARIA label for Algolia mention", + "theme.SearchPage.algoliaLabel___DESCRIPTION": "The description label for Algolia mention", "theme.SearchPage.documentsFound.plurals": "One document found|{count} documents found", "theme.SearchPage.documentsFound.plurals___DESCRIPTION": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)", "theme.SearchPage.emptyResultsTitle": "Search the documentation", @@ -63,55 +110,5 @@ "theme.SearchPage.inputPlaceholder": "Type your search here", "theme.SearchPage.inputPlaceholder___DESCRIPTION": "The placeholder for search page input", "theme.SearchPage.noResultsText": "No results were found", - "theme.SearchPage.noResultsText___DESCRIPTION": "The paragraph for empty search result", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderText___DESCRIPTION": "The placeholder text for the main search input field", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAi___DESCRIPTION": "The placeholder text when in AI question mode", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming___DESCRIPTION": "The placeholder text while AI is answering", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHint___DESCRIPTION": "The enter key hint for search mode", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.enterKeyHintAskAi___DESCRIPTION": "The enter key hint for AI mode", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.searchInputLabel___DESCRIPTION": "The label for the search input field", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText___DESCRIPTION": "The text for the button to return to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel___DESCRIPTION": "The aria label for the back to search button", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.recentConversationsTitle___DESCRIPTION": "The title for recent AI conversations section", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle___DESCRIPTION": "The title for the button to remove a conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.resultsScreen.askAiPlaceholder___DESCRIPTION": "The placeholder prefix for the AI question input", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.disclaimerText___DESCRIPTION": "The disclaimer text shown in AI mode", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.relatedSourcesText___DESCRIPTION": "The text for related sources section", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.thinkingText___DESCRIPTION": "The text shown while AI is processing", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonText___DESCRIPTION": "The text for the copy button", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonCopiedText___DESCRIPTION": "The text shown after copying", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.copyButtonTitle___DESCRIPTION": "The title for the copy button", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.likeButtonTitle___DESCRIPTION": "The title for the like button", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.dislikeButtonTitle___DESCRIPTION": "The title for the dislike button", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.thanksForFeedbackText___DESCRIPTION": "The text shown after providing feedback", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.preToolCallText___DESCRIPTION": "The text shown before search begins", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.duringToolCallText___DESCRIPTION": "The text shown during search", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.askAiScreen.afterToolCallText___DESCRIPTION": "The text shown after search completes", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.submitQuestionText___DESCRIPTION": "The text for the submit question button", - "theme.SearchModal.footer.backToSearchText": "Back to search", - "theme.SearchModal.footer.backToSearchText___DESCRIPTION": "The text for the back to search button" + "theme.SearchPage.noResultsText___DESCRIPTION": "The paragraph for empty search result" } diff --git a/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json index e07b1e4aae9f..7442a4697cc6 100644 --- a/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Търсене", "theme.SearchBar.seeAll": "Вижте всички {count} резултата", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Може да проверите вашата мрежова връзка.", "theme.SearchModal.errorScreen.titleText": "Не може да се извлекат резултати", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Клавиш Escape", "theme.SearchModal.footer.closeText": "за затваряне", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Стрелка надолу", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Търсене от", "theme.SearchModal.footer.selectKeyAriaLabel": "Клавиш Enter ", "theme.SearchModal.footer.selectText": "за избиране", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Няма резултати за", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Информирай ни.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Вярвате, че тази заявка трябва да върне резултати?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Опитайте да потърсите", "theme.SearchModal.placeholder": "Търсене в документацията", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Отказ", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Изчистване на заявката", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Любими", "theme.SearchModal.startScreen.noRecentSearchesText": "Няма скорошни търсения", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Скорошни", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Премахване на това търсене от любимите", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Премахване това търсене от историята", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Запазване това търсене", "theme.SearchPage.algoliaLabel": "Задвижвано от Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "звличане на нови резултати...", "theme.SearchPage.inputLabel": "Търсене", "theme.SearchPage.inputPlaceholder": "Въведете търсенето си тук", - "theme.SearchPage.noResultsText": "Няма намерени резултати", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "Няма намерени резултати" } diff --git a/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json index 4a1b4f5860f1..0987b48e9d19 100644 --- a/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "অনুসন্ধান", "theme.SearchBar.seeAll": "সমস্ত {count}টি ফলাফল দেখুন", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "আপনি আপনার নেটওয়ার্ক সংযোগ পরীক্ষা করতে চাইতে পারেন।", "theme.SearchModal.errorScreen.titleText": "ফলাফল আনতে অক্ষম", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape কী", "theme.SearchModal.footer.closeText": "বন্ধ করতে", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "তীর নিচে", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "অনুসন্ধান দ্বারা", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter কী", "theme.SearchModal.footer.selectText": "নির্বাচন করতে", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "কোনো ফলাফল পাওয়া যায়নি", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "আমাদের জানান।", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "বিশ্বাস করেন এই অনুসন্ধানে ফলাফল থাকা উচিত?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "অনুসন্ধান করার চেষ্টা করুন", "theme.SearchModal.placeholder": "ডক্স অনুসন্ধান করুন", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "বাতিল", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "অনুসন্ধান সাফ করুন", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "প্রিয়", "theme.SearchModal.startScreen.noRecentSearchesText": "কোনো সাম্প্রতিক অনুসন্ধান নেই", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "সাম্প্রতিক", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "প্রিয় থেকে এই অনুসন্ধান সরান", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "ইতিহাস থেকে এই অনুসন্ধান সরান", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "এই অনুসন্ধান সংরক্ষণ করুন", "theme.SearchPage.algoliaLabel": "Algolia দ্বারা অনুসন্ধান", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "নতুন ফলাফল আনা হচ্ছে...", "theme.SearchPage.inputLabel": "অনুসন্ধান", "theme.SearchPage.inputPlaceholder": "এখানে আপনার অনুসন্ধান লিখুন", - "theme.SearchPage.noResultsText": "কোনো ফলাফল পাওয়া যায়নি", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "কোনো ফলাফল পাওয়া যায়নি" } diff --git a/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json index 1068cf09f6dd..ebcd44bf65f3 100644 --- a/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Vyhledávání", "theme.SearchBar.seeAll": "Zobrazit všech {count} výsledků", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Možná byste měli zkontrolovat připojení k síti.", "theme.SearchModal.errorScreen.titleText": "Nelze načíst výsledky", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Klávesa Escape", "theme.SearchModal.footer.closeText": "zavřít", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Šipka dolů", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Vyhledávání pomocí", "theme.SearchModal.footer.selectKeyAriaLabel": "Klávesa Enter", "theme.SearchModal.footer.selectText": "vybrat", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Žádné výsledky pro", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Dejte nám vědět.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Věříte, že tento dotaz by měl vrátit výsledky?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Zkuste vyhledat", "theme.SearchModal.placeholder": "Prohledat dokumentaci", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Zrušit", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Vymazat dotaz", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Oblíbené", "theme.SearchModal.startScreen.noRecentSearchesText": "Žádná nedávná vyhledávání", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Nedávné", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Odebrat toto vyhledávání z oblíbených", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Odebrat toto vyhledávání z historie", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Uložit toto vyhledávání", "theme.SearchPage.algoliaLabel": "Vyhledávání pomocí Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Načítání nových výsledků...", "theme.SearchPage.inputLabel": "Vyhledávání", "theme.SearchPage.inputPlaceholder": "Zadejte hledaný text", - "theme.SearchPage.noResultsText": "Žádné výsledky nenalezeny", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "Žádné výsledky nenalezeny" } diff --git a/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json index dd07b5b73578..a0504b85a43e 100644 --- a/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Søg", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Search by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", "theme.SearchPage.algoliaLabel": "Drevet af Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Henter nye resultater...", "theme.SearchPage.inputLabel": "Søg", "theme.SearchPage.inputPlaceholder": "Indtast din søgning her", - "theme.SearchPage.noResultsText": "Ingen resultater fundet", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "Ingen resultater fundet" } diff --git a/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json index 8c91ce76a3e5..db5e27744f6c 100644 --- a/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Suche", "theme.SearchBar.seeAll": "Alle {count} Ergebnisse anzeigen", + "theme.SearchModal.askAiScreen.afterToolCallText": "Gesucht nach ", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Kopiert!", + "theme.SearchModal.askAiScreen.copyButtonText": "Kopieren", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Kopieren", + "theme.SearchModal.askAiScreen.disclaimerText": "Antworten werden von KI generiert und können Fehler enthalten. Bitte überprüfen Sie die Antworten.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Gefällt mir nicht", + "theme.SearchModal.askAiScreen.duringToolCallText": "Suche nach ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Gefällt mir", + "theme.SearchModal.askAiScreen.preToolCallText": "Suche...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Verwandte Quellen", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Danke für Ihr Feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Denkt nach...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Zurück zur Suche", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Search by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Frage absenden", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "KI fragen: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Zurück zur Stichwortsuche", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Zurück zur Stichwortsuche", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "suchen", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "eingeben", + "theme.SearchModal.searchBox.placeholderText": "Dokumentation durchsuchen", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Weitere Frage stellen...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Antwortet...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Suchen", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Letzte Gespräche", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Dieses Gespräch aus dem Verlauf entfernen", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", "theme.SearchPage.algoliaLabel": "Unterstützt von Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Neue Ergebnisse abrufen...", "theme.SearchPage.inputLabel": "Suche", "theme.SearchPage.inputPlaceholder": "Geben Sie hier Ihre Suche ein", - "theme.SearchPage.noResultsText": "Es wurden keine Ergebnisse gefunden", - "theme.SearchModal.searchBox.placeholderText": "Dokumentation durchsuchen", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Weitere Frage stellen...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Antwortet...", - "theme.SearchModal.searchBox.enterKeyHint": "suchen", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "eingeben", - "theme.SearchModal.searchBox.searchInputLabel": "Suchen", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Zurück zur Stichwortsuche", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Zurück zur Stichwortsuche", - "theme.SearchModal.startScreen.recentConversationsTitle": "Letzte Gespräche", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Dieses Gespräch aus dem Verlauf entfernen", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "KI fragen: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Antworten werden von KI generiert und können Fehler enthalten. Bitte überprüfen Sie die Antworten.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Verwandte Quellen", - "theme.SearchModal.askAiScreen.thinkingText": "Denkt nach...", - "theme.SearchModal.askAiScreen.copyButtonText": "Kopieren", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Kopiert!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Kopieren", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Gefällt mir", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Gefällt mir nicht", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Danke für Ihr Feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Suche...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Suche nach ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Gesucht nach ", - "theme.SearchModal.footer.submitQuestionText": "Frage absenden", - "theme.SearchModal.footer.backToSearchText": "Zurück zur Suche" + "theme.SearchPage.noResultsText": "Es wurden keine Ergebnisse gefunden" } diff --git a/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json index f6e7bb8a558b..159dd5d7493b 100644 --- a/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Buscar", "theme.SearchBar.seeAll": "Ver todos los {count} resultados", + "theme.SearchModal.askAiScreen.afterToolCallText": "Se buscó ", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "¡Copiado!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copiar", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copiar", + "theme.SearchModal.askAiScreen.disclaimerText": "Las respuestas son generadas por IA y pueden contener errores. Verifique las respuestas.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "No me gusta", + "theme.SearchModal.askAiScreen.duringToolCallText": "Buscando ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Me gusta", + "theme.SearchModal.askAiScreen.preToolCallText": "Buscando...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Fuentes relacionadas", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "¡Gracias por tu opinión!", + "theme.SearchModal.askAiScreen.thinkingText": "Pensando...", "theme.SearchModal.errorScreen.helpText": "Quizás quieras comprobar tu conexión de red.", "theme.SearchModal.errorScreen.titleText": "No se pueden obtener resultados", + "theme.SearchModal.footer.backToSearchText": "Volver a la búsqueda", "theme.SearchModal.footer.closeKeyAriaLabel": "tecla Escape", "theme.SearchModal.footer.closeText": "cerrar", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Flecha abajo", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Buscar por", "theme.SearchModal.footer.selectKeyAriaLabel": "tecla Enter", "theme.SearchModal.footer.selectText": "seleccionar", + "theme.SearchModal.footer.submitQuestionText": "Enviar pregunta", "theme.SearchModal.noResultsScreen.noResultsText": "Sin resultados para", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Háganos saber.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Crees que esta consulta debería devolver resultados?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Intenta buscando por", "theme.SearchModal.placeholder": "Buscar documentos", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Preguntar a la IA: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Volver a búsqueda por palabras clave", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Volver a búsqueda por palabras clave", "theme.SearchModal.searchBox.cancelButtonText": "Cancelar", + "theme.SearchModal.searchBox.enterKeyHint": "buscar", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enviar", + "theme.SearchModal.searchBox.placeholderText": "Buscar documentos", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Hacer otra pregunta...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Respondiendo...", "theme.SearchModal.searchBox.resetButtonTitle": "Limpiar la búsqueda", + "theme.SearchModal.searchBox.searchInputLabel": "Buscar", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorito", "theme.SearchModal.startScreen.noRecentSearchesText": "Sin búsquedas recientes", + "theme.SearchModal.startScreen.recentConversationsTitle": "Conversaciones recientes", "theme.SearchModal.startScreen.recentSearchesTitle": "Reciente", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Eliminar esta búsqueda de favoritos", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Eliminar esta conversación del historial", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Eliminar esta búsqueda del historial", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Guardar esta búsqueda", "theme.SearchPage.algoliaLabel": "Con tecnología de Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Obteniendo nuevos resultados...", "theme.SearchPage.inputLabel": "Buscar", "theme.SearchPage.inputPlaceholder": "Escribe tu búsqueda aquí", - "theme.SearchPage.noResultsText": "No se encontraron resultados", - "theme.SearchModal.searchBox.placeholderText": "Buscar documentos", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Hacer otra pregunta...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Respondiendo...", - "theme.SearchModal.searchBox.enterKeyHint": "buscar", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enviar", - "theme.SearchModal.searchBox.searchInputLabel": "Buscar", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Volver a búsqueda por palabras clave", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Volver a búsqueda por palabras clave", - "theme.SearchModal.startScreen.recentConversationsTitle": "Conversaciones recientes", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Eliminar esta conversación del historial", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Preguntar a la IA: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Las respuestas son generadas por IA y pueden contener errores. Verifique las respuestas.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Fuentes relacionadas", - "theme.SearchModal.askAiScreen.thinkingText": "Pensando...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copiar", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "¡Copiado!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copiar", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Me gusta", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "No me gusta", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "¡Gracias por tu opinión!", - "theme.SearchModal.askAiScreen.preToolCallText": "Buscando...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Buscando ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Se buscó ", - "theme.SearchModal.footer.submitQuestionText": "Enviar pregunta", - "theme.SearchModal.footer.backToSearchText": "Volver a la búsqueda" + "theme.SearchPage.noResultsText": "No se encontraron resultados" } diff --git a/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json index d5e3fce500a0..87f07ec7e2d8 100644 --- a/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Otsi", "theme.SearchBar.seeAll": "Vaata kõiki {count} tulemust", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Kontrolli interneti ühendust.", "theme.SearchModal.errorScreen.titleText": "Tulemuste pärimine ebaõnnestus", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Paoklahvi nuppu", "theme.SearchModal.footer.closeText": "sulgemiseks", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Alla noolt", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Otsi", "theme.SearchModal.footer.selectKeyAriaLabel": "Sisestusklahvi nuppu", "theme.SearchModal.footer.selectText": "valimiseks", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Tulemused puuduvad päringule", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Anna meile teada.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Usud, et see päring peaks tulemuse andma?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Proovi otsida", "theme.SearchModal.placeholder": "Otsi dokumente", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Tühista", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Puhasta päring", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Lemmik", "theme.SearchModal.startScreen.noRecentSearchesText": "Hiljutised otsingud puuduvad", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Hiljutised", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Eemalda see otsing lemmikutest", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Eemalda see otsing ajaloost", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salvesta see otsing", "theme.SearchPage.algoliaLabel": "Otsingu võimaldab Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Uute tulemuste laadimine...", "theme.SearchPage.inputLabel": "Otsing", "theme.SearchPage.inputPlaceholder": "Sisesta oma otsing siia", - "theme.SearchPage.noResultsText": "Tulemusi ei leitud", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "Tulemusi ei leitud" } diff --git a/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json index 12208eed6987..4b237da096bf 100644 --- a/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "جستجو", "theme.SearchBar.seeAll": "نمایش {count} نتیجه", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "لطفا اتصال شبکه خود را بررسی کنید.", "theme.SearchModal.errorScreen.titleText": "دریافت نتایج ممکن نیست", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "کلید Escape", "theme.SearchModal.footer.closeText": "بستن", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "کلید پایین", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "جستجو برای", "theme.SearchModal.footer.selectKeyAriaLabel": "کلید اینتر", "theme.SearchModal.footer.selectText": "انتخاب", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "هیچ نتیجه ای برای", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "با ما در میان بگذارید.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "آیا اطمینان دارید این جستجو باید نتیجه ای داشته باشد؟", "theme.SearchModal.noResultsScreen.suggestedQueryText": "جستجو پیشنهادی برای", "theme.SearchModal.placeholder": "جستجوی مستندات", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "کنسل", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "پاک کردن جستجو", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "برگزیده", "theme.SearchModal.startScreen.noRecentSearchesText": "جستجوی اخیر مشاهده نشد", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "اخیرا", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "این جستجو از برگزیده ها پاک شود", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "این جستجو از تاریخچه پاک شود", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "ذخیره این جستجو", "theme.SearchPage.algoliaLabel": "قدرت گرفته از Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "در حال دریافت نتایج...", "theme.SearchPage.inputLabel": "جستجو", "theme.SearchPage.inputPlaceholder": "جستجوی خود را اینجا تایپ کنید", - "theme.SearchPage.noResultsText": "هیچ نتیجه‌ای پیدا نشد", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "هیچ نتیجه‌ای پیدا نشد" } diff --git a/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json index 0876c464e03a..48e97d73221b 100644 --- a/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Maghanap", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Search by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", "theme.SearchPage.algoliaLabel": "Pinapagana ng Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Kumukuha ng mga bagong resulta...", "theme.SearchPage.inputLabel": "Maghanap", "theme.SearchPage.inputPlaceholder": "I-type ang inyong paghahanap dito", - "theme.SearchPage.noResultsText": "Walang nahanap na resulta", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "Walang nahanap na resulta" } diff --git a/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json index a78b1ab1f418..2eda7f3db54f 100644 --- a/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Chercher", "theme.SearchBar.seeAll": "Voir les {count} résultats", + "theme.SearchModal.askAiScreen.afterToolCallText": "Recherche effectuée pour ", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copié !", + "theme.SearchModal.askAiScreen.copyButtonText": "Copier", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copier", + "theme.SearchModal.askAiScreen.disclaimerText": "Les réponses sont générées par l'IA et peuvent contenir des erreurs. Veuillez vérifier les réponses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Je n'aime pas", + "theme.SearchModal.askAiScreen.duringToolCallText": "Recherche de ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "J'aime", + "theme.SearchModal.askAiScreen.preToolCallText": "Recherche en cours...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Sources connexes", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Merci pour votre retour !", + "theme.SearchModal.askAiScreen.thinkingText": "Réflexion en cours...", "theme.SearchModal.errorScreen.helpText": "Vous pouvez vérifier votre connexion réseau.", "theme.SearchModal.errorScreen.titleText": "Impossible de récupérer les résultats", + "theme.SearchModal.footer.backToSearchText": "Retour à la recherche", "theme.SearchModal.footer.closeKeyAriaLabel": "Touche Echap", "theme.SearchModal.footer.closeText": "fermer", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Flèche vers le bas", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Recherche via", "theme.SearchModal.footer.selectKeyAriaLabel": "Touche Entrée", "theme.SearchModal.footer.selectText": "sélectionner", + "theme.SearchModal.footer.submitQuestionText": "Soumettre la question", "theme.SearchModal.noResultsScreen.noResultsText": "Aucun résultat pour", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Faites-le nous savoir.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Vous pensez que cette requête doit donner des résultats ?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Essayez de chercher", "theme.SearchModal.placeholder": "Rechercher des docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Demander à l'IA : ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Retour à la recherche par mots-clés", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Retour à la recherche par mots-clés", "theme.SearchModal.searchBox.cancelButtonText": "Annuler", + "theme.SearchModal.searchBox.enterKeyHint": "rechercher", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "entrée", + "theme.SearchModal.searchBox.placeholderText": "Rechercher des docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Poser une autre question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "En train de répondre...", "theme.SearchModal.searchBox.resetButtonTitle": "Effacer la requête", + "theme.SearchModal.searchBox.searchInputLabel": "Rechercher", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favoris", "theme.SearchModal.startScreen.noRecentSearchesText": "Aucune recherche récente", + "theme.SearchModal.startScreen.recentConversationsTitle": "Conversations récentes", "theme.SearchModal.startScreen.recentSearchesTitle": "Récemment", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Supprimer cette recherche des favoris", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Supprimer cette conversation de l'historique", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Supprimer cette recherche de l'historique", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Sauvegarder cette recherche", "theme.SearchPage.algoliaLabel": "Fourni par Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Chargement de nouveaux résultats...", "theme.SearchPage.inputLabel": "Chercher", "theme.SearchPage.inputPlaceholder": "Tapez votre recherche ici", - "theme.SearchPage.noResultsText": "Aucun résultat trouvé", - "theme.SearchModal.searchBox.placeholderText": "Rechercher des docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Poser une autre question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "En train de répondre...", - "theme.SearchModal.searchBox.enterKeyHint": "rechercher", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "entrée", - "theme.SearchModal.searchBox.searchInputLabel": "Rechercher", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Retour à la recherche par mots-clés", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Retour à la recherche par mots-clés", - "theme.SearchModal.startScreen.recentConversationsTitle": "Conversations récentes", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Supprimer cette conversation de l'historique", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Demander à l'IA : ", - "theme.SearchModal.askAiScreen.disclaimerText": "Les réponses sont générées par l'IA et peuvent contenir des erreurs. Veuillez vérifier les réponses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Sources connexes", - "theme.SearchModal.askAiScreen.thinkingText": "Réflexion en cours...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copier", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copié !", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copier", - "theme.SearchModal.askAiScreen.likeButtonTitle": "J'aime", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Je n'aime pas", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Merci pour votre retour !", - "theme.SearchModal.askAiScreen.preToolCallText": "Recherche en cours...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Recherche de ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Recherche effectuée pour ", - "theme.SearchModal.footer.submitQuestionText": "Soumettre la question", - "theme.SearchModal.footer.backToSearchText": "Retour à la recherche" + "theme.SearchPage.noResultsText": "Aucun résultat trouvé" } diff --git a/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json index b904cb8f6cdf..5b85f0308123 100644 --- a/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "חיפוש", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Search by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", "theme.SearchPage.algoliaLabel": "מופעל על ידי Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "טוען תוצאות חיפוש חדשות...", "theme.SearchPage.inputLabel": "חיפוש", "theme.SearchPage.inputPlaceholder": "הקלד את החיפוש שלך כאן", - "theme.SearchPage.noResultsText": "לא נמצאו תוצאות", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "לא נמצאו תוצאות" } diff --git a/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json index 8213f281aa24..881869c3710d 100644 --- a/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "खोज करें", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Search by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", "theme.SearchPage.algoliaLabel": "Algolia द्वारा संचालित", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "नए परिणाम प्राप्त कर रहे हैं...", "theme.SearchPage.inputLabel": "खोजें", "theme.SearchPage.inputPlaceholder": "यहाँ अपनी खोज टाइप करें", - "theme.SearchPage.noResultsText": "कोई परिणाम नहीं मिला", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "कोई परिणाम नहीं मिला" } diff --git a/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json index 027a5ba8a083..ef048a6bb18c 100644 --- a/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Keresés", "theme.SearchBar.seeAll": "Összes eredmény megtekintése ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Ellenőrizze a hálózati kapcsolatot.", "theme.SearchModal.errorScreen.titleText": "Nem sikerült az eredményeket lekérni", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape billentyű", "theme.SearchModal.footer.closeText": "bezárás", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Lefelé nyíl", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Motor:", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter billentyű", "theme.SearchModal.footer.selectText": "kiválasztás", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Nincs eredmény", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Adja meg nekünk.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Úgy gondolja, hogy ez a keresés eredményt kellene adnia?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Próbálja meg keresni", "theme.SearchModal.placeholder": "Dokumentumok keresése", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Mégse", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Keresési kérés törlése", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Kedvencek", "theme.SearchModal.startScreen.noRecentSearchesText": "Nincsenek legutóbbi keresések", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Legutóbbi", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Törölje ezt a keresést a kedvencekből", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Törölje ezt a keresést az előzményekből", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Mentsük el ezt a keresést", "theme.SearchPage.algoliaLabel": "Az Algolia támogatásával", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Új keresési eredmények betöltése...", "theme.SearchPage.inputLabel": "Keresés", "theme.SearchPage.inputPlaceholder": "Írja be a keresését ide", - "theme.SearchPage.noResultsText": "Nem található eredmény", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "Nem található eredmény" } diff --git a/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json index ae6006b1730a..cbd7c6955c1c 100644 --- a/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Cari", "theme.SearchBar.seeAll": "Lihat semua {count} hasilnya", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Barangkali anda perlu memerika koneksi jaringan anda.", "theme.SearchModal.errorScreen.titleText": "Gagal mendapatkan hasilnya", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Tombol Escape", "theme.SearchModal.footer.closeText": "menutup", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Panah ke bawah", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Cari dengan teks", "theme.SearchModal.footer.selectKeyAriaLabel": "Tombol Enter", "theme.SearchModal.footer.selectText": "memilih", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Tak ada hasil untuk", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Beri tahu kami.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Yakin pencarian ini seharusnya memberikan hasil?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Coba lakukan pencarian untuk", "theme.SearchModal.placeholder": "Cari dokumentasi", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Batalkan", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Hapus teks pencarian", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorit", "theme.SearchModal.startScreen.noRecentSearchesText": "Tak ada riwayat pencarian", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Terbaru", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Hapus pencarian ini dari favorit", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Hapus pencarian ini dari riwayat", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Simpan pencarian ini", "theme.SearchPage.algoliaLabel": "Didukung oleh Algolia", diff --git a/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json index 601fac734068..3b492a99a97e 100644 --- a/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Leita", "theme.SearchBar.seeAll": "Sjá allar {count} niðurstöður", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Þú gætir viljað athuga nettenginguna.", "theme.SearchModal.errorScreen.titleText": "Tókst ekki að sækja niðurstöður", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape hnappur", "theme.SearchModal.footer.closeText": "til að loka", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Ör niður", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Leit með", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter hnappur", "theme.SearchModal.footer.selectText": "að velja", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Engin niðurstaða fyrir", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Láttu okkur vita.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Tel að þessi fyrirspurn eigi að skila niðurstöðum?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Prófaðu að leita að", "theme.SearchModal.placeholder": "Leita í skjölum", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Hætta", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Hreinsa fyrirspurn", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Uppáhalds", "theme.SearchModal.startScreen.noRecentSearchesText": "Engar nýlegar leitir", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Nýlegar", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Fjarlægja þessa leit úr uppáhalds", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Fjarlægja þessa leit úr sögu", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Vista þessa leit", "theme.SearchPage.algoliaLabel": "Keyrt af Algolia", diff --git a/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json index 85ad9ce16398..f78ea26ab39b 100644 --- a/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Cerca", "theme.SearchBar.seeAll": "Vedi tutti {count} risultati", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Potresti voler controllare la tua connessione di rete.", "theme.SearchModal.errorScreen.titleText": "Impossibile recuperare i risultati", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Tasto di fuga", "theme.SearchModal.footer.closeText": "chiudere", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Freccia giù", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Cercato da", "theme.SearchModal.footer.selectKeyAriaLabel": "Tasto Invio", "theme.SearchModal.footer.selectText": "selezionare", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Nessun risultato per", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Facci sapere.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Credi che questa query dovrebbe restituire risultati?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Prova a cercare", "theme.SearchModal.placeholder": "Cerca documenti", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Annulla", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Cancella la query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Preferita", "theme.SearchModal.startScreen.noRecentSearchesText": "Nessuna ricerca recente", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recente", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Rimuovi questa ricerca dai preferiti", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Rimuovi questa ricerca dalla cronologia", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salva questa ricerca", "theme.SearchPage.algoliaLabel": "Fornito da Algolia", diff --git a/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json index 2eec0fe153b6..8d412422526e 100644 --- a/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "検索", "theme.SearchBar.seeAll": "検索結果{count}件をすべて見る", + "theme.SearchModal.askAiScreen.afterToolCallText": "検索完了:", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "コピーしました!", + "theme.SearchModal.askAiScreen.copyButtonText": "コピー", + "theme.SearchModal.askAiScreen.copyButtonTitle": "コピー", + "theme.SearchModal.askAiScreen.disclaimerText": "回答はAIによって生成されており、誤りがある可能性があります。必ず内容を確認してください。", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "よくない", + "theme.SearchModal.askAiScreen.duringToolCallText": "検索中:", + "theme.SearchModal.askAiScreen.likeButtonTitle": "いいね", + "theme.SearchModal.askAiScreen.preToolCallText": "検索中...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "関連ソース", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "フィードバックありがとうございます!", + "theme.SearchModal.askAiScreen.thinkingText": "考え中...", "theme.SearchModal.errorScreen.helpText": "ネットワーク接続を確認してください", "theme.SearchModal.errorScreen.titleText": "検索結果の取得に失敗しました", + "theme.SearchModal.footer.backToSearchText": "検索に戻る", "theme.SearchModal.footer.closeKeyAriaLabel": "エスケープキー", "theme.SearchModal.footer.closeText": "閉じる", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "下矢印キー", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "検索", "theme.SearchModal.footer.selectKeyAriaLabel": "エンターキー", "theme.SearchModal.footer.selectText": "選ぶ", + "theme.SearchModal.footer.submitQuestionText": "質問を送信", "theme.SearchModal.noResultsScreen.noResultsText": "見つかりませんでした", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "報告する", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "よりよい検索結果がありますか?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "次の検索を試す:", "theme.SearchModal.placeholder": "ドキュメントを検索", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "AIに質問:", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "キーワード検索に戻る", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "キーワード検索に戻る", "theme.SearchModal.searchBox.cancelButtonText": "キャンセル", + "theme.SearchModal.searchBox.enterKeyHint": "検索", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "確定", + "theme.SearchModal.searchBox.placeholderText": "ドキュメントを検索", + "theme.SearchModal.searchBox.placeholderTextAskAi": "別の質問をする...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "回答中...", "theme.SearchModal.searchBox.resetButtonTitle": "クリア", + "theme.SearchModal.searchBox.searchInputLabel": "検索", "theme.SearchModal.startScreen.favoriteSearchesTitle": "お気に入り", "theme.SearchModal.startScreen.noRecentSearchesText": "最近の検索履歴はありません", + "theme.SearchModal.startScreen.recentConversationsTitle": "最近の会話", "theme.SearchModal.startScreen.recentSearchesTitle": "最近の検索", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "この検索をお気に入りから削除", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "この会話を履歴から削除", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "この検索を履歴から削除", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "この検索をお気に入りに追加", "theme.SearchPage.algoliaLabel": "Algolia提供", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "新しい検索結果を取得しています...", "theme.SearchPage.inputLabel": "検索", "theme.SearchPage.inputPlaceholder": "検索するキーワードを入力してください", - "theme.SearchPage.noResultsText": "検索結果が見つかりませんでした", - "theme.SearchModal.searchBox.placeholderText": "ドキュメントを検索", - "theme.SearchModal.searchBox.placeholderTextAskAi": "別の質問をする...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "回答中...", - "theme.SearchModal.searchBox.enterKeyHint": "検索", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "確定", - "theme.SearchModal.searchBox.searchInputLabel": "検索", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "キーワード検索に戻る", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "キーワード検索に戻る", - "theme.SearchModal.startScreen.recentConversationsTitle": "最近の会話", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "この会話を履歴から削除", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "AIに質問:", - "theme.SearchModal.askAiScreen.disclaimerText": "回答はAIによって生成されており、誤りがある可能性があります。必ず内容を確認してください。", - "theme.SearchModal.askAiScreen.relatedSourcesText": "関連ソース", - "theme.SearchModal.askAiScreen.thinkingText": "考え中...", - "theme.SearchModal.askAiScreen.copyButtonText": "コピー", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "コピーしました!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "コピー", - "theme.SearchModal.askAiScreen.likeButtonTitle": "いいね", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "よくない", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "フィードバックありがとうございます!", - "theme.SearchModal.askAiScreen.preToolCallText": "検索中...", - "theme.SearchModal.askAiScreen.duringToolCallText": "検索中:", - "theme.SearchModal.askAiScreen.afterToolCallText": "検索完了:", - "theme.SearchModal.footer.submitQuestionText": "質問を送信", - "theme.SearchModal.footer.backToSearchText": "検索に戻る" + "theme.SearchPage.noResultsText": "検索結果が見つかりませんでした" } diff --git a/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json index 696aa567344f..15111a335cca 100644 --- a/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "검색", "theme.SearchBar.seeAll": "{count}개의 결과 확인하기", + "theme.SearchModal.askAiScreen.afterToolCallText": "검색 완료: ", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "복사됨!", + "theme.SearchModal.askAiScreen.copyButtonText": "복사", + "theme.SearchModal.askAiScreen.copyButtonTitle": "복사", + "theme.SearchModal.askAiScreen.disclaimerText": "답변은 AI가 생성하며 오류가 있을 수 있습니다. 응답을 확인해주세요.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "싫어요", + "theme.SearchModal.askAiScreen.duringToolCallText": "검색 중: ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "좋아요", + "theme.SearchModal.askAiScreen.preToolCallText": "검색 중...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "관련 출처", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "피드백 감사합니다!", + "theme.SearchModal.askAiScreen.thinkingText": "생각 중...", "theme.SearchModal.errorScreen.helpText": "인터넷 연결을 다시 확인하시기 바랍니다.", "theme.SearchModal.errorScreen.titleText": "결과를 불러올 수 없음", + "theme.SearchModal.footer.backToSearchText": "검색으로 돌아가기", "theme.SearchModal.footer.closeKeyAriaLabel": "Esc 키", "theme.SearchModal.footer.closeText": "로 종료", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "화살표 아래 키", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "검색 제공", "theme.SearchModal.footer.selectKeyAriaLabel": "엔터 키", "theme.SearchModal.footer.selectText": "로 선택", + "theme.SearchModal.footer.submitQuestionText": "질문 제출", "theme.SearchModal.noResultsScreen.noResultsText": "검색 결과 없음", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "알려주시기 바랍니다.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "검색 결과가 없는 것이 오류라고 생각되십니까?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "다른 추천 검색어", "theme.SearchModal.placeholder": "문서 검색", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "AI에게 질문: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "키워드 검색으로 돌아가기", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "키워드 검색으로 돌아가기", "theme.SearchModal.searchBox.cancelButtonText": "취소", + "theme.SearchModal.searchBox.enterKeyHint": "검색", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "입력", + "theme.SearchModal.searchBox.placeholderText": "문서 검색", + "theme.SearchModal.searchBox.placeholderTextAskAi": "다른 질문하기...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "답변 중...", "theme.SearchModal.searchBox.resetButtonTitle": "검색어 초기화", + "theme.SearchModal.searchBox.searchInputLabel": "검색", "theme.SearchModal.startScreen.favoriteSearchesTitle": "즐겨찾기", "theme.SearchModal.startScreen.noRecentSearchesText": "최근 검색어 없음", + "theme.SearchModal.startScreen.recentConversationsTitle": "최근 대화", "theme.SearchModal.startScreen.recentSearchesTitle": "최근", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "이 검색어를 즐겨찾기에서 삭제", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "이 대화를 기록에서 삭제", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "이 검색어를 최근 검색어에서 삭제", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "이 검색어를 저장", "theme.SearchPage.algoliaLabel": "Algolia 제공", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "새로운 검색 결과를 불러오는 중입니다.", "theme.SearchPage.inputLabel": "검색", "theme.SearchPage.inputPlaceholder": "검색어를 입력하세요.", - "theme.SearchPage.noResultsText": "검색 결과가 없습니다.", - "theme.SearchModal.searchBox.placeholderText": "문서 검색", - "theme.SearchModal.searchBox.placeholderTextAskAi": "다른 질문하기...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "답변 중...", - "theme.SearchModal.searchBox.enterKeyHint": "검색", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "입력", - "theme.SearchModal.searchBox.searchInputLabel": "검색", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "키워드 검색으로 돌아가기", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "키워드 검색으로 돌아가기", - "theme.SearchModal.startScreen.recentConversationsTitle": "최근 대화", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "이 대화를 기록에서 삭제", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "AI에게 질문: ", - "theme.SearchModal.askAiScreen.disclaimerText": "답변은 AI가 생성하며 오류가 있을 수 있습니다. 응답을 확인해주세요.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "관련 출처", - "theme.SearchModal.askAiScreen.thinkingText": "생각 중...", - "theme.SearchModal.askAiScreen.copyButtonText": "복사", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "복사됨!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "복사", - "theme.SearchModal.askAiScreen.likeButtonTitle": "좋아요", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "싫어요", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "피드백 감사합니다!", - "theme.SearchModal.askAiScreen.preToolCallText": "검색 중...", - "theme.SearchModal.askAiScreen.duringToolCallText": "검색 중: ", - "theme.SearchModal.askAiScreen.afterToolCallText": "검색 완료: ", - "theme.SearchModal.footer.submitQuestionText": "질문 제출", - "theme.SearchModal.footer.backToSearchText": "검색으로 돌아가기" + "theme.SearchPage.noResultsText": "검색 결과가 없습니다." } diff --git a/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json index 5e95e38a4f1d..95048f778b12 100644 --- a/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Søk", "theme.SearchBar.seeAll": "Se alle {count} resultat", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Det kan være lurt å sjekke nettverkstilkoblingen.", "theme.SearchModal.errorScreen.titleText": "Kan ikke hente resultater", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape-tasten", "theme.SearchModal.footer.closeText": "Lukk", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Pil ned", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Søk på", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter-tasten", "theme.SearchModal.footer.selectText": "for å velge", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Ingen resultat", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Gi oss beskjed.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Tenker du at denne spørringen bør gi resultater?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Prøv å søke etter", "theme.SearchModal.placeholder": "Søk i dokumenter", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Avbryt", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Fjern søket", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favoritt", "theme.SearchModal.startScreen.noRecentSearchesText": "Ingen nylige søk", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Nylig", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Fjern dette søket fra favoritter", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Fjern dette søket fra loggen", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Lagre dette søket", "theme.SearchPage.algoliaLabel": "Drevet av Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Henter nye resultater...", "theme.SearchPage.inputLabel": "Søk", "theme.SearchPage.inputPlaceholder": "Skriv inn søket ditt her", - "theme.SearchPage.noResultsText": "Ingen resultater ble funnet", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "Ingen resultater ble funnet" } diff --git a/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json index 12d335d3eb20..910e036249ce 100644 --- a/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Zoeken", "theme.SearchBar.seeAll": "Laat alle {count} resultaten zien", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Misschien wilt u uw netwerkverbinding controleren.", "theme.SearchModal.errorScreen.titleText": "Niet in staat resultaten op te halen", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape-toets", "theme.SearchModal.footer.closeText": "om te sluiten", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Pijltoets naar beneden", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Zoek op", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter-toets", "theme.SearchModal.footer.selectText": "om te selecteren", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Geen resultaten voor", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Laat het ons weten.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Zou deze zoekopdracht resultaten moeten opleveren?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Probeer om te zoeken op", "theme.SearchModal.placeholder": "Doorzoek de documentatie", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Annuleren", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Maak de zoekopdracht leeg", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favoriet", "theme.SearchModal.startScreen.noRecentSearchesText": "Geen recente zoekopdrachten", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recente zoekopdrachten", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Verwijder deze zoekopdracht uit mijn favorieten", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Verwijder deze zoekopdracht uit mijn geschiedenis", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Sla deze zoekopdracht op", "theme.SearchPage.algoliaLabel": "Aangedreven door Algolia", diff --git a/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json index 6fe2095ca6bf..b689bd2133b3 100644 --- a/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Szukaj", "theme.SearchBar.seeAll": "Wyświetl wszystkie {count} wyników", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Sprawdź swoje połączenie sieciowe.", "theme.SearchModal.errorScreen.titleText": "Nie można pobrać wyników", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Klawisz Escape", "theme.SearchModal.footer.closeText": "aby zamknąć", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Strzałka w dół", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Szukaj według", "theme.SearchModal.footer.selectKeyAriaLabel": "Klawisz Enter", "theme.SearchModal.footer.selectText": "aby wybrać", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Brak wyników dla", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Daj nam znać.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Wydaje Ci się, że to zapytanie powinno zwrócić wyniki?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Spróbuj poszukać", "theme.SearchModal.placeholder": "Wyszukaj dokumenty", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Anuluj", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Wyczyść zapytanie", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Ulubione", "theme.SearchModal.startScreen.noRecentSearchesText": "Brak ostatnich wyszukiwań", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Ostatnie wyszukiwania", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Usuń to wyszukiwanie z ulubionych", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Usuń to wyszukiwanie z historii", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Zapisz to wyszukiwanie", "theme.SearchPage.algoliaLabel": "Napędzane przez Algolia", diff --git a/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json index 5185a31a1cbf..77c15c42c58e 100644 --- a/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Buscar", "theme.SearchBar.seeAll": "Ver todos os {count} resultados", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Talvez você deva verificar sua conexão de rede.", "theme.SearchModal.errorScreen.titleText": "Não foi possível obter resultados", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Tecla Esc", "theme.SearchModal.footer.closeText": "fechar", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Seta para baixo", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Esta busca utiliza", "theme.SearchModal.footer.selectKeyAriaLabel": "Tecla Enter", "theme.SearchModal.footer.selectText": "selecionar", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Nenhum resultado para", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Nos avise.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Você acha que esta busca deveria retornar resultados?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Tente buscar por", "theme.SearchModal.placeholder": "Buscar documentos", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancelar", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Limpar a busca", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorito", "theme.SearchModal.startScreen.noRecentSearchesText": "Nenhuma busca recente", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recente", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remover esta busca dos favoritos", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remover esta busca do histórico", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salvar esta busca", "theme.SearchPage.algoliaLabel": "Desenvolvido por Algolia", diff --git a/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json index 936f19d8ad1a..cad3fec43827 100644 --- a/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Pesquisar", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Search by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", "theme.SearchPage.algoliaLabel": "Desenvolvido por Algolia", diff --git a/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json index b83362449d8d..1df1f89722da 100644 --- a/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Поиск", "theme.SearchBar.seeAll": "Посмотреть все результаты ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Проверьте подключение к интернету.", "theme.SearchModal.errorScreen.titleText": "Невозможно загрузить результаты поиска", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Клавиша Escape", "theme.SearchModal.footer.closeText": "закрыть", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Клавиша стрелка вниз", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Поиск от", "theme.SearchModal.footer.selectKeyAriaLabel": "Клавиша Enter", "theme.SearchModal.footer.selectText": "выбрать", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Нет результатов по запросу", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Сообщите нам.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Нет подходящего результата поиска?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Попробуйте", "theme.SearchModal.placeholder": "Поиск", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Отменить", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Очистить", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Избранное", "theme.SearchModal.startScreen.noRecentSearchesText": "Нет истории поиска", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Недавнее", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Удалить запись из избранное", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Удалить запись из историю", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Сохранить поисковый запрос", "theme.SearchPage.algoliaLabel": "При поддержке Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Загрузка новых результатов поиска...", "theme.SearchPage.inputLabel": "Поиск", "theme.SearchPage.inputPlaceholder": "Введите фразу для поиска", - "theme.SearchPage.noResultsText": "По запросу ничего не найдено", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "По запросу ничего не найдено" } diff --git a/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json index ff1aaa9c625d..d9d61b94d53f 100644 --- a/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Išči", "theme.SearchBar.seeAll": "Poglej vse rezultate ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Preverite vašo spletno povezavo.", "theme.SearchModal.errorScreen.titleText": "Rezultatov ni bilo možno naložiti", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Tipka Escape", "theme.SearchModal.footer.closeText": "zapri", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Tipka puščica navzdol", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Iskanje", "theme.SearchModal.footer.selectKeyAriaLabel": "tipka Enter", "theme.SearchModal.footer.selectText": "izberi", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Ni rezultatov za", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Obvestite nas.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Mislite, da bi morali obstajati rezultati?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Poskusite poiskati", "theme.SearchModal.placeholder": "Išči po dokumentaciji", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Prekliči", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Izprazni iskalni niz", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Priljubljena iskanja", "theme.SearchModal.startScreen.noRecentSearchesText": "Ni iskanj pred kratkim", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Pred kratkim", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Umakni iskanje iz priljubljenih", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Umakni iskanje iz zgodovine", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Shrani to iskanje", "theme.SearchPage.algoliaLabel": "Poganja Algolia", diff --git a/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json index bec90616f62b..fda09a2b3bc8 100644 --- a/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Тражи", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Search by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", "theme.SearchPage.algoliaLabel": "Покреће Algolia", diff --git a/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json index 039f0f96040a..c83d2e778b82 100644 --- a/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Sök", "theme.SearchBar.seeAll": "Se alla {count} resultat", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Du kanske vill kontrollera din nätverksanslutning.", "theme.SearchModal.errorScreen.titleText": "Kunde inte hämta resultat", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape-tangenten", "theme.SearchModal.footer.closeText": "för att stänga", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Pil ned", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Sökning från", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter-tangenten", "theme.SearchModal.footer.selectText": "för att välja", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Inga resultat för", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Återkoppla.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Tycker du att sökningen borde returnera resultat?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Försöka söka efter", "theme.SearchModal.placeholder": "Sök i dokumentationen", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Avbryt", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Rensa sökningen", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favoriter", "theme.SearchModal.startScreen.noRecentSearchesText": "Inga senaste sökningar", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Senaste sökningar", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Ta bort från favoriter", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Ta bort från historiken", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Lägg till som favorit", "theme.SearchPage.algoliaLabel": "Drivs av Algolia", diff --git a/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json index 2a5af8d5550f..c3621dcaff04 100644 --- a/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Gözleg", "theme.SearchBar.seeAll": "Ähli netijeleri gör ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Internet birikmäňizi barlaň.", "theme.SearchModal.errorScreen.titleText": "Gözleg netijelerini ýüklemek mümkin däl", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape düwmesi", "theme.SearchModal.footer.closeText": "ýapmak", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Aşak ok düwmesi", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Gözleg", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter düwmesi", "theme.SearchModal.footer.selectText": "saýlamak", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Sorag boýunça netijeler ýok", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Bize habar beriň.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Gözleg netijesi ýokmy?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Synanyşyň", "theme.SearchModal.placeholder": "Gözleg", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Ýatyrmak", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Arassalamak", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Halaýanlar", "theme.SearchModal.startScreen.noRecentSearchesText": "Gözleg taryhy ýok", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Soňky", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Halaýan ýazgyny aýyrmak", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Taryh ýazgysyny aýyrmak", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Gözleg soragyny ýatda saklaň", "theme.SearchPage.algoliaLabel": "Algolia tarapyndan goldanylýar", diff --git a/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json index 353f166aadc8..c1635ea334eb 100644 --- a/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Ara", "theme.SearchBar.seeAll": "{count} sonucun tümünü görün", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Ağ bağlantınızı kontrol etmek isteyebilirsiniz.", "theme.SearchModal.errorScreen.titleText": "Sonuçlar alınamadı", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "ESC Tuşu", "theme.SearchModal.footer.closeText": "Kapat", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Aşağı ok", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Şuna göre ara:", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter tuşu", "theme.SearchModal.footer.selectText": "Seç", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "için sonuç yok", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Bilmemize izin ver.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Bu sorgunun sonuç döndürmesi gerektiğine inanıyor musunuz?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Aramayı deneyin", "theme.SearchModal.placeholder": "Dokümanlarda ara", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "İptal", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Sorguyu temizle", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favori", "theme.SearchModal.startScreen.noRecentSearchesText": "Son arama yok", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Son", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Bu aramayı favorilerden kaldır", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Bu aramayı geçmişten kaldır", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Bu aramayı kaydet", "theme.SearchPage.algoliaLabel": "Algolia tarafından desteklenmektedir", diff --git a/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json index 85e578ab3dcc..d26538bc52f8 100644 --- a/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Пошук", "theme.SearchBar.seeAll": "Переглянути всі результати ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Перевірте підключення до мережі.", "theme.SearchModal.errorScreen.titleText": "Не вдалося отримати результати", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Клавіша Escape", "theme.SearchModal.footer.closeText": "закрити", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Стрілка вниз", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Пошук за допомогою", "theme.SearchModal.footer.selectKeyAriaLabel": "Клавіша Enter", "theme.SearchModal.footer.selectText": "обрати", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Немає результатів для", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Дайте нам знати.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Чи вважаєте ви, що цей запит має повернути результати?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Спробуйте пошукати", "theme.SearchModal.placeholder": "Пошук документів", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Скасувати", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Очистити запит", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Обране", "theme.SearchModal.startScreen.noRecentSearchesText": "Немає останніх пошуків", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Останні", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Видалити цей пошук з обраного", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Видалити цей пошук з історії", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Зберегти цей пошук", "theme.SearchPage.algoliaLabel": "Працює на Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Завантаження нових результатів пошуку...", "theme.SearchPage.inputLabel": "Пошук", "theme.SearchPage.inputPlaceholder": "Введіть ваш пошук тут", - "theme.SearchPage.noResultsText": "Не знайдено результатів", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "Не знайдено результатів" } diff --git a/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json index bee6504f44bd..18191ca11a1d 100644 --- a/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Tìm kiếm", "theme.SearchBar.seeAll": "Xem tất cả {count} kết quả", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Bạn nên kiểm tra lại kết nối mạng của mình.", "theme.SearchModal.errorScreen.titleText": "Không thể tìm nạp dữ liệu", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Phím thoát", "theme.SearchModal.footer.closeText": "để đóng", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Mũi tên xuống", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "Tìm kiếm theo", "theme.SearchModal.footer.selectKeyAriaLabel": "Nhập khóa", "theme.SearchModal.footer.selectText": "để chọn", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Không có kết quả dành cho", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Hãy để chúng tôi biết.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Tin rằng truy vấn này sẽ trả về kết quả?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Thử tìm kiếm", "theme.SearchModal.placeholder": "Tìm kiếm tài liệu", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Hủy bỏ", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Xóa truy vấn", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Yêu thích", "theme.SearchModal.startScreen.noRecentSearchesText": "Không có tìm kiếm nào gần đây", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Gần đây", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Xóa tìm kiếm này khỏi danh sách yêu thích", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Xóa tìm kiếm này khỏi lịch sử", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Lưu tìm kiếm này", "theme.SearchPage.algoliaLabel": "Được cung cấp bởi Algolia", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "Đang tải thêm kết quả...", "theme.SearchPage.inputLabel": "Tìm kiếm", "theme.SearchPage.inputPlaceholder": "Nhập tìm kiếm của bạn ở đây", - "theme.SearchPage.noResultsText": "Không tìm thấy kết quả", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "Không tìm thấy kết quả" } diff --git a/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json index ddbb0eb9506e..7f6ac62a237e 100644 --- a/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "搜索", "theme.SearchBar.seeAll": "查看全部 {count} 个结果", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "你可能需要检查网络连接。", "theme.SearchModal.errorScreen.titleText": "无法获取结果", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Esc 键", "theme.SearchModal.footer.closeText": "关闭", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "向下键", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "搜索提供", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter 键", "theme.SearchModal.footer.selectText": "选中", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "没有结果:", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "请告知我们。", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "认为这个查询应该有结果?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "试试搜索", "theme.SearchModal.placeholder": "搜索文档", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "取消", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "清除查询", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "收藏", "theme.SearchModal.startScreen.noRecentSearchesText": "没有最近搜索", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "最近搜索", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "从收藏列表中删除这个搜索", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "从历史记录中删除这个搜索", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "保存这个搜索", "theme.SearchPage.algoliaLabel": "由 Algolia 提供", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "正在获取新的搜索结果...", "theme.SearchPage.inputLabel": "搜索", "theme.SearchPage.inputPlaceholder": "在此输入搜索词", - "theme.SearchPage.noResultsText": "未找到结果", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "未找到结果" } diff --git a/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json index bee854b84993..4f8bee87df32 100644 --- a/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "搜尋", "theme.SearchBar.seeAll": "查看全部 {count} 個結果", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "你可能需要檢查網路連線。", "theme.SearchModal.errorScreen.titleText": "無法獲取結果", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Esc 鍵", "theme.SearchModal.footer.closeText": "關閉", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "向下鍵", @@ -11,17 +24,29 @@ "theme.SearchModal.footer.searchByText": "搜尋提供", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter 鍵", "theme.SearchModal.footer.selectText": "選中", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "沒有結果:", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "請告知我們。", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "認為這個查詢應該有結果?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "試試搜尋", "theme.SearchModal.placeholder": "搜尋文檔", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "取消", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "清除查詢", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "收藏", "theme.SearchModal.startScreen.noRecentSearchesText": "沒有最近的搜尋", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "最近搜尋", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "從收藏列表中刪除這個搜尋", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "從歷史記錄中刪除這個搜尋", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "保存這個搜尋", "theme.SearchPage.algoliaLabel": "由 Algolia 提供", @@ -31,30 +56,5 @@ "theme.SearchPage.fetchingNewResults": "正在取得新的搜尋結果...", "theme.SearchPage.inputLabel": "搜尋", "theme.SearchPage.inputPlaceholder": "在此輸入搜尋詞", - "theme.SearchPage.noResultsText": "未找到結果", - "theme.SearchModal.searchBox.placeholderText": "Search docs", - "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", - "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", - "theme.SearchModal.searchBox.enterKeyHint": "search", - "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", - "theme.SearchModal.searchBox.searchInputLabel": "Search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", - "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", - "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", - "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", - "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", - "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", - "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", - "theme.SearchModal.askAiScreen.copyButtonText": "Copy", - "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", - "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", - "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", - "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", - "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", - "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", - "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", - "theme.SearchModal.footer.submitQuestionText": "Submit question", - "theme.SearchModal.footer.backToSearchText": "Back to search" + "theme.SearchPage.noResultsText": "未找到結果" } diff --git a/website/docs/search.mdx b/website/docs/search.mdx index 7709d2e3416d..846842f4ebda 100644 --- a/website/docs/search.mdx +++ b/website/docs/search.mdx @@ -225,7 +225,13 @@ Ask AI brings the power of AI to your documentation: - **Conversational search:** Users can ask questions in natural language and get context-aware answers. - **Completely free:** Ask AI is available at no additional cost. You'll pay only for the LLM usage to your provider. + +[// spell-checker:disable]: # + - **BYOLLM (Bring Your Own LLM):** You can use your own language model provider, giving you full control over the AI experience. + +[// spell-checker:enable]: # + - **Direct Algolia index integration:** The provider/models retrieve relevant context directly from your Algolia index, ensuring accurate and up-to-date answers. - **Recently asked & conversation history:** Easily revisit your recent questions and jump back into previous Ask AI conversations. - **Seamless integration:** Ask AI is available directly from the search modal. diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 750d3e01830f..38906a8d415b 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -655,6 +655,7 @@ export default async function createConfigAsync() { appId: 'X1Z85QJPUV', apiKey: 'bf7211c161e8205da2f933a02534105a', indexName: 'docusaurus-2', + /* cSpell:ignore RgIMYFUmTfrN */ askAi: 'RgIMYFUmTfrN', replaceSearchResultPathname: isDev || isDeployPreview From 4752b9421ea264d13a2f2b2a8b118d0cf51f3a2a Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Wed, 16 Jul 2025 10:40:16 +0200 Subject: [PATCH 04/53] fix: replace search by, by powered by --- .../locales/ar/theme-search-algolia.json | 2 +- .../locales/base/theme-search-algolia.json | 4 ++-- .../locales/da/theme-search-algolia.json | 2 +- .../locales/de/theme-search-algolia.json | 2 +- .../locales/fil/theme-search-algolia.json | 2 +- .../locales/he/theme-search-algolia.json | 2 +- .../locales/hi/theme-search-algolia.json | 2 +- .../locales/pt-PT/theme-search-algolia.json | 2 +- .../locales/sr/theme-search-algolia.json | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json index 5b1e7c9d8503..43bd6253cd64 100644 --- a/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json @@ -21,7 +21,7 @@ "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", "theme.SearchModal.footer.submitQuestionText": "Submit question", diff --git a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json index d941819b5836..42c3eb5c87f6 100644 --- a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json @@ -42,8 +42,8 @@ "theme.SearchModal.footer.navigateText___DESCRIPTION": "The navigate text for footer", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", "theme.SearchModal.footer.navigateUpKeyAriaLabel___DESCRIPTION": "The ARIA label for navigate up key in footer", - "theme.SearchModal.footer.searchByText": "Search by", - "theme.SearchModal.footer.searchByText___DESCRIPTION": "The search by text for footer", + "theme.SearchModal.footer.searchByText": "Powered by", + "theme.SearchModal.footer.searchByText___DESCRIPTION": "The Powered by text for footer", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectKeyAriaLabel___DESCRIPTION": "The ARIA label for select key in footer", "theme.SearchModal.footer.selectText": "Select", diff --git a/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json index a0504b85a43e..b04cf00c567c 100644 --- a/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json @@ -21,7 +21,7 @@ "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", "theme.SearchModal.footer.submitQuestionText": "Submit question", diff --git a/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json index db5e27744f6c..b9e69701c56b 100644 --- a/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json @@ -21,7 +21,7 @@ "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", "theme.SearchModal.footer.submitQuestionText": "Frage absenden", diff --git a/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json index 48e97d73221b..ec81fd9efeef 100644 --- a/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json @@ -21,7 +21,7 @@ "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", "theme.SearchModal.footer.submitQuestionText": "Submit question", diff --git a/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json index 5b85f0308123..43d6a07b7820 100644 --- a/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json @@ -21,7 +21,7 @@ "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", "theme.SearchModal.footer.submitQuestionText": "Submit question", diff --git a/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json index 881869c3710d..46f24d198e51 100644 --- a/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json @@ -21,7 +21,7 @@ "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", "theme.SearchModal.footer.submitQuestionText": "Submit question", diff --git a/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json index cad3fec43827..2a47d02c7981 100644 --- a/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json @@ -21,7 +21,7 @@ "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", "theme.SearchModal.footer.submitQuestionText": "Submit question", diff --git a/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json index fda09a2b3bc8..337015a14ea8 100644 --- a/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json @@ -21,7 +21,7 @@ "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", "theme.SearchModal.footer.submitQuestionText": "Submit question", From 0233bda7b58e2c828af75f843474eb7da555c5dd Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Tue, 22 Jul 2025 16:39:52 +0200 Subject: [PATCH 05/53] fix(askai): add facet filters --- .../src/theme/SearchBar/index.tsx | 24 ++++++++++++++++++- .../src/theme/SearchBar/styles.css | 4 ++++ yarn.lock | 24 +++++++------------ 3 files changed, 35 insertions(+), 17 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index 58cb97b10b68..c624de01d8f8 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -267,6 +267,28 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { const resultsFooterComponent = useResultsFooterComponent({closeModal}); + // Rebuild the askAI prop as an object + const askAiProp = props.askAi; + const askAi = askAiProp + ? { + // if askai prop is a string, consider it as the assistantId + // and use the default indexName, apiKey, appId + // if askai prop is an object, use the values from the object + indexName: + typeof askAiProp === 'string' ? props.indexName : askAiProp.indexName, + apiKey: typeof askAiProp === 'string' ? props.apiKey : askAiProp.apiKey, + appId: typeof askAiProp === 'string' ? props.appId : askAiProp.appId, + assistantId: + typeof askAiProp === 'string' ? askAiProp : askAiProp.assistantId, + // use the docusaurus' merged searchParameters facetFilters + searchParameters: searchParameters?.facetFilters + ? { + facetFilters: searchParameters?.facetFilters, + } + : undefined, + } + : undefined; + useDocSearchKeyboardEvents({ isOpen, onOpen: openModal, @@ -321,7 +343,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { translations={props.translations?.modal ?? translations.modal} searchParameters={searchParameters} // ask ai props - askAi={props.askAi} + askAi={askAi} canHandleAskAi={canHandleAskAi} isAskAiActive={isAskAiActive} onAskAiToggle={onAskAiToggle} diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css index c80dd71d37db..beae4b822d57 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css @@ -19,3 +19,7 @@ .DocSearch-Container { z-index: calc(var(--ifm-z-index-fixed) + 1); } + +.DocSearch-Button-Key { + padding: 0 !important; +} diff --git a/yarn.lock b/yarn.lock index f102deec7d6a..ff756d4074a6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,13 +52,6 @@ dependencies: "@algolia/autocomplete-shared" "1.19.2" -"@algolia/autocomplete-preset-algolia@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.19.2.tgz#c6c1e1ff7b011090a70e66b02e6db4ebade4535e" - integrity sha512-/Z9tDn84fnyUyjajvWRskOX7p/BDKK5PidEA4Y/aAl0c6VfHu5dMkTDG090CIiskLUgpkHacLbz+A10gMBP++Q== - dependencies: - "@algolia/autocomplete-shared" "1.19.2" - "@algolia/autocomplete-shared@1.19.2": version "1.19.2" resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" @@ -2075,20 +2068,19 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@4.0.0-beta.1": - version "4.0.0-beta.1" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.1.tgz#609407c55c9fe333279362dde45fe280338ecf40" - integrity sha512-0gz3zy5ygHT048FRVcmk1i8XQhVye42In04FlknABzjpNOOBjfvlIuewIFJKDYoCh8Aq3+15Jy3akkb6bNBTxA== +"@docsearch/css@4.0.0-beta.3": + version "4.0.0-beta.3" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.3.tgz#1904e1ce795e1ba28ec10ffbd918a4192d3cc72b" + integrity sha512-iSENteRjgkvNzWxG4PDp/tl61LzZcAf8OxyO84Mk0LCj3tEqPFCOed/0vq4WDUOAWgYAPS12pa7TpUihFlqPpg== "@docsearch/react@beta": - version "4.0.0-beta.1" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.1.tgz#23821de4ea546cb75036a1fc909298aa072fb5bf" - integrity sha512-XPxHMzfD+FBEAkXPt0g64Mc06Q3plevAuIzQMnW6b5slVbVM8xH3Dmi0eXx9LLVVnV2mji6q2OKm/ET6QWxHVw== + version "4.0.0-beta.3" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.3.tgz#b54475ad5ba461258b82594673b9e16eb064c415" + integrity sha512-j9LwFh8Vi54PEO8yQvEGryCAHw1BwJPaH6Qw6Xf2Beawe4qofbiWprKdkTugghIwZUSbhDcb20DH8d9V7tkmew== dependencies: "@ai-sdk/react" "^1.2.12" "@algolia/autocomplete-core" "1.19.2" - "@algolia/autocomplete-preset-algolia" "1.19.2" - "@docsearch/css" "4.0.0-beta.1" + "@docsearch/css" "4.0.0-beta.3" algoliasearch "^5.28.0" marked "^15.0.12" From e771fb19bc8beb916c64dd865e3b10706606a0e2 Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Wed, 23 Jul 2025 09:15:36 +0200 Subject: [PATCH 06/53] fix: factor out string typecheck --- .../src/theme/SearchBar/index.tsx | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index c624de01d8f8..772fb140f15a 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -267,24 +267,23 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { const resultsFooterComponent = useResultsFooterComponent({closeModal}); - // Rebuild the askAI prop as an object + // Rebuild the askAI prop as an object: + // if askai prop is a string, consider it as the assistantId const askAiProp = props.askAi; + const isAskAiPropAssistantId = typeof askAiProp === 'string'; const askAi = askAiProp ? { - // if askai prop is a string, consider it as the assistantId - // and use the default indexName, apiKey, appId + // Use the default indexName, apiKey, appId // if askai prop is an object, use the values from the object - indexName: - typeof askAiProp === 'string' ? props.indexName : askAiProp.indexName, - apiKey: typeof askAiProp === 'string' ? props.apiKey : askAiProp.apiKey, - appId: typeof askAiProp === 'string' ? props.appId : askAiProp.appId, - assistantId: - typeof askAiProp === 'string' ? askAiProp : askAiProp.assistantId, + indexName: isAskAiPropAssistantId + ? props.indexName + : askAiProp.indexName, + apiKey: isAskAiPropAssistantId ? props.apiKey : askAiProp.apiKey, + appId: isAskAiPropAssistantId ? props.appId : askAiProp.appId, + assistantId: isAskAiPropAssistantId ? askAiProp : askAiProp.assistantId, // use the docusaurus' merged searchParameters facetFilters searchParameters: searchParameters?.facetFilters - ? { - facetFilters: searchParameters?.facetFilters, - } + ? {facetFilters: searchParameters?.facetFilters} : undefined, } : undefined; From 4fed7f09638d83fb599b20e4cf021bb648190a83 Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Tue, 29 Jul 2025 18:49:57 +0200 Subject: [PATCH 07/53] fix: based on comments --- .../package.json | 2 +- .../src/theme/SearchBar/index.tsx | 208 ++++++--- .../src/theme/SearchBar/styles.css | 2 +- .../src/theme/SearchPage/index.tsx | 114 ++--- .../src/theme/SearchPage/styles.module.css | 8 - .../src/theme/SearchTranslations/index.ts | 71 +++- project-words.txt | 1 + website/docs/search.mdx | 9 +- website/docusaurus.config.ts | 2 - yarn.lock | 394 ++++++++---------- 10 files changed, 455 insertions(+), 356 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index ba745f5dda3f..5951a5e3bf7c 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -33,7 +33,7 @@ "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch" }, "dependencies": { - "@docsearch/react": "beta", + "@docsearch/react": "^3.9.0 || ^4.0.0-beta.5 || ^4.0.0", "@docusaurus/core": "3.8.1", "@docusaurus/logger": "3.8.1", "@docusaurus/plugin-content-docs": "3.8.1", diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index 772fb140f15a..d013f0736f69 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -13,7 +13,11 @@ import React, { type ReactNode, } from 'react'; import {createPortal} from 'react-dom'; -import {DocSearchButton, useDocSearchKeyboardEvents} from '@docsearch/react'; +import { + DocSearchButton, + useDocSearchKeyboardEvents, + version as docsearchVersion, +} from '@docsearch/react'; import Head from '@docusaurus/Head'; import Link from '@docusaurus/Link'; import {useHistory} from '@docusaurus/router'; @@ -35,6 +39,7 @@ import type { StoredDocSearchHit, DocSearchTransformClient, DocSearchHit, + DocSearchTranslations, } from '@docsearch/react'; import type {AutocompleteState} from '@algolia/autocomplete-core'; @@ -49,6 +54,33 @@ type DocSearchProps = Omit< searchPagePath: boolean | string; }; +// V4 specific types +type AskAiConfig = { + indexName: string; + apiKey: string; + appId: string; + assistantId: string; + searchParameters?: { + facetFilters: FacetFilters; + }; +}; + +// Extend DocSearchProps for v4 features +interface DocSearchV4Props extends DocSearchProps { + askAi?: string | AskAiConfig; + translations?: DocSearchTranslations; +} + +// Extend DocSearchModalProps for v4 features +interface DocSearchModalV4Props extends DocSearchModalProps { + askAi?: AskAiConfig; + canHandleAskAi?: boolean; + isAskAiActive?: boolean; + onAskAiToggle?: (active: boolean) => void; +} + +const isV4 = docsearchVersion.startsWith('4'); + let DocSearchModal: typeof DocSearchModalType | null = null; function importDocSearchModalIfNeeded() { @@ -130,12 +162,90 @@ function useResultsFooterComponent({ ); } +function useAskAi( + props: DocSearchV4Props, + searchParameters: DocSearchProps['searchParameters'], +) { + const [isAskAiActive, setIsAskAiActive] = useState(false); + + const canHandleAskAi = Boolean(props?.askAi); + + let currentPlaceholder = + (translations.modal?.searchBox as any)?.placeholderText || + props?.placeholder; + + if (isAskAiActive && isV4) { + currentPlaceholder = (translations.modal?.searchBox as any) + ?.placeholderTextAskAi as string; + } + + const onAskAiToggle = useCallback((askAiToggle: boolean) => { + setIsAskAiActive(askAiToggle); + }, []); + + const askAiProp = props.askAi as + | undefined + | string + | { + indexName: string; + apiKey: string; + appId: string; + assistantId: string; + }; + + const isAskAiPropAssistantId = typeof askAiProp === 'string'; + + const askAi = useMemo(() => { + if (!askAiProp) { + return undefined; + } + + if (askAiProp && !isV4) { + console.warn( + 'Ask AI is ONLY supported in DocSearch v4. Please use to the latest version of DocSearch.', + ); + return undefined; + } + + return { + indexName: isAskAiPropAssistantId ? props.indexName : askAiProp.indexName, + apiKey: isAskAiPropAssistantId ? props.apiKey : askAiProp.apiKey, + appId: isAskAiPropAssistantId ? props.appId : askAiProp.appId, + assistantId: isAskAiPropAssistantId ? askAiProp : askAiProp.assistantId, + searchParameters: searchParameters?.facetFilters + ? {facetFilters: searchParameters.facetFilters} + : undefined, + }; + }, [ + askAiProp, + isAskAiPropAssistantId, + props.indexName, + props.apiKey, + props.appId, + searchParameters, + ]); + + // Utility to reset Ask AI active state when closing the modal ------------- + const resetAskAiActive = useCallback(() => { + setIsAskAiActive(false); + }, []); + + return { + canHandleAskAi, + isAskAiActive, + currentPlaceholder, + onAskAiToggle, + askAi, + resetAskAiActive, + } as const; +} + function Hit({ hit, children, }: { hit: InternalDocSearchHit | StoredDocSearchHit; - children: React.ReactNode; + children: ReactNode; }) { return {children}; } @@ -188,7 +298,7 @@ function useSearchParameters({ }; } -function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { +function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { const navigator = useNavigator({externalUrlRegex}); const searchParameters = useSearchParameters({...props}); const transformItems = useTransformItems(props); @@ -198,35 +308,32 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { // TODO remove "as any" after React 19 upgrade const searchButtonRef = useRef(null as any); const [isOpen, setIsOpen] = useState(false); - const [initialQuery, setInitialQuery] = React.useState( + const [initialQuery, setInitialQuery] = useState( undefined, ); - const [isAskAiActive, setIsAskAiActive] = React.useState(false); - const canHandleAskAi = Boolean(props?.askAi); - - let currentPlaceholder = - props?.translations?.modal?.searchBox?.placeholderText || - props?.placeholder || - 'Search docs'; - - if (canHandleAskAi) { - currentPlaceholder = - props?.translations?.modal?.searchBox?.placeholderText || - 'Search docs or ask AI a question'; - } - - if (isAskAiActive) { - currentPlaceholder = - props?.translations?.modal?.searchBox?.placeholderTextAskAi || - 'Ask another question...'; - } + const { + canHandleAskAi, + isAskAiActive, + currentPlaceholder, + onAskAiToggle, + askAi, + resetAskAiActive, + } = useAskAi(props, searchParameters); - const onAskAiToggle = React.useCallback( - (askAItoggle: boolean) => { - setIsAskAiActive(askAItoggle); - }, - [setIsAskAiActive], + // Build extra props only when using DocSearch v4 + const extraAskAiProps: Partial = useMemo( + () => + isV4 + ? { + // Ask-AI related props (v4 only) + askAi, + canHandleAskAi, + isAskAiActive, + onAskAiToggle, + } + : {}, + [askAi, canHandleAskAi, isAskAiActive, onAskAiToggle], ); const prepareSearchContainer = useCallback(() => { @@ -246,10 +353,8 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { setIsOpen(false); searchButtonRef.current?.focus(); setInitialQuery(undefined); - if (isAskAiActive) { - setIsAskAiActive(false); - } - }, [isAskAiActive]); + resetAskAiActive(); + }, [resetAskAiActive]); const handleInput = useCallback( (event: KeyboardEvent) => { @@ -267,35 +372,18 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { const resultsFooterComponent = useResultsFooterComponent({closeModal}); - // Rebuild the askAI prop as an object: - // if askai prop is a string, consider it as the assistantId - const askAiProp = props.askAi; - const isAskAiPropAssistantId = typeof askAiProp === 'string'; - const askAi = askAiProp - ? { - // Use the default indexName, apiKey, appId - // if askai prop is an object, use the values from the object - indexName: isAskAiPropAssistantId - ? props.indexName - : askAiProp.indexName, - apiKey: isAskAiPropAssistantId ? props.apiKey : askAiProp.apiKey, - appId: isAskAiPropAssistantId ? props.appId : askAiProp.appId, - assistantId: isAskAiPropAssistantId ? askAiProp : askAiProp.assistantId, - // use the docusaurus' merged searchParameters facetFilters - searchParameters: searchParameters?.facetFilters - ? {facetFilters: searchParameters?.facetFilters} - : undefined, - } - : undefined; - useDocSearchKeyboardEvents({ isOpen, onOpen: openModal, onClose: closeModal, onInput: handleInput, searchButtonRef, - isAskAiActive, - onAskAiToggle, + ...(isV4 + ? { + isAskAiActive, + onAskAiToggle, + } + : {}), }); return ( @@ -341,11 +429,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { placeholder={currentPlaceholder} translations={props.translations?.modal ?? translations.modal} searchParameters={searchParameters} - // ask ai props - askAi={askAi} - canHandleAskAi={canHandleAskAi} - isAskAiActive={isAskAiActive} - onAskAiToggle={onAskAiToggle} + {...extraAskAiProps} />, // TODO need to fix this React Compiler lint error // eslint-disable-next-line react-compiler/react-compiler @@ -357,5 +441,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { export default function SearchBar(): ReactNode { const {siteConfig} = useDocusaurusContext(); - return ; + return ( + + ); } diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css index beae4b822d57..78689effe4e5 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css @@ -21,5 +21,5 @@ } .DocSearch-Button-Key { - padding: 0 !important; + padding: 0; } diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx index 9544b97fb92e..dca8881d85a9 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx @@ -139,6 +139,65 @@ function SearchVersionSelectList({ ); } +function AlgoliaLogo(): ReactNode { + return ( + + + {/* eslint-disable-next-line @docusaurus/no-untranslated-text */} + + + + + + + + + + + + + ); +} + type ResultDispatcherState = { items: { title: string; @@ -451,60 +510,7 @@ function SearchPageContent(): ReactNode { message: 'Powered by Algolia', description: 'The description label for Algolia mention', })}> - - - {/* eslint-disable-next-line @docusaurus/no-untranslated-text */} - - - - - - - - - - - - +
diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css index 82f06aa6e0e0..29c4389f5514 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css @@ -49,14 +49,6 @@ font-weight: normal; } -.algoliaLogo { - max-width: 150px; -} - -.algoliaLogoPathFill { - fill: var(--ifm-font-color-base); -} - .searchResultItem { padding: 1rem 0; border-bottom: 1px solid var(--ifm-toc-border-color); diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts index e20ee845bb48..768ba88d9506 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts @@ -9,7 +9,52 @@ import {translate} from '@docusaurus/Translate'; import type {DocSearchTranslations} from '@docsearch/react'; -const translations: DocSearchTranslations = { +const translations: DocSearchTranslations & { + modal?: { + searchBox?: { + placeholderText?: string; + placeholderTextAskAi?: string; + placeholderTextAskAiStreaming?: string; + enterKeyHintAskAi?: string; + searchInputLabel?: string; + backToKeywordSearchButtonText?: string; + backToKeywordSearchButtonAriaLabel?: string; + enterKeyHint?: string; + clearButtonTitle?: string; + clearButtonAriaLabel?: string; + closeButtonText?: string; + closeButtonAriaLabel?: string; + }; + startScreen?: { + recentConversationsTitle?: string; + removeRecentConversationButtonTitle?: string; + }; + resultsScreen?: { + askAiPlaceholder?: string; + }; + askAiScreen?: { + disclaimerText?: string; + relatedSourcesText?: string; + thinkingText?: string; + copyButtonText?: string; + copyButtonCopiedText?: string; + copyButtonTitle?: string; + likeButtonTitle?: string; + dislikeButtonTitle?: string; + thanksForFeedbackText?: string; + preToolCallText?: string; + duringToolCallText?: string; + afterToolCallText?: string; + aggregatedToolCallNode?: string; + aggregatedToolCallText?: string; + }; + footer?: { + submitQuestionText?: string; + poweredByText?: string; + backToSearchText?: string; + }; + }; +} = { button: { buttonText: translate({ id: 'theme.SearchBar.label', @@ -24,6 +69,28 @@ const translations: DocSearchTranslations = { }, modal: { searchBox: { + resetButtonTitle: translate({ + id: 'theme.SearchModal.searchBox.resetButtonTitle', + message: 'Clear the query', + description: 'The label and ARIA label for search box reset button', + }), + resetButtonAriaLabel: translate({ + id: 'theme.SearchModal.searchBox.resetButtonTitle', + message: 'Clear the query', + description: 'The label and ARIA label for search box reset button', + }), + cancelButtonText: translate({ + id: 'theme.SearchModal.searchBox.cancelButtonText', + message: 'Cancel', + description: 'The label and ARIA label for search box cancel button', + }), + cancelButtonAriaLabel: translate({ + id: 'theme.SearchModal.searchBox.cancelButtonText', + message: 'Cancel', + description: 'The label and ARIA label for search box cancel button', + }), + + // v4 clearButtonTitle: translate({ id: 'theme.SearchModal.searchBox.resetButtonTitle', message: 'Clear the query', @@ -158,7 +225,7 @@ const translations: DocSearchTranslations = { askAiPlaceholder: translate({ id: 'theme.SearchModal.resultsScreen.askAiPlaceholder', message: 'Ask AI: ', - description: 'The placeholder text for ask AI input', + description: 'The placeholder text for Ask AI input', }), }, askAiScreen: { diff --git a/project-words.txt b/project-words.txt index 467a8d0a2da7..12b69d1551b2 100644 --- a/project-words.txt +++ b/project-words.txt @@ -365,3 +365,4 @@ Zhou zoomable zpao ödingers +BYOLLM diff --git a/website/docs/search.mdx b/website/docs/search.mdx index 846842f4ebda..40c323067e87 100644 --- a/website/docs/search.mdx +++ b/website/docs/search.mdx @@ -127,7 +127,7 @@ export default { // Optional: whether the insights feature is enabled or not on Docsearch (`false` by default) insights: false, - // Optional: incase you want to use the new ask ai feature + // Optional: whether you want to use the new Ask AI feature (undefined by default) askAi: 'YOUR_ALGOLIA_ASK_AI_ASSISTANT_ID', //... other Algolia params @@ -219,19 +219,14 @@ If you only get search results when Contextual Search is disabled, this is very ### Ask AI {#ask-ai} -Ask AI is a new feature that allows you to ask questions about your documentation. It is only available with the latest version of DocSearch (v4). +Ask AI is a new feature that allows you to ask questions about your documentation. Ask AI brings the power of AI to your documentation: - **Conversational search:** Users can ask questions in natural language and get context-aware answers. - **Completely free:** Ask AI is available at no additional cost. You'll pay only for the LLM usage to your provider. - -[// spell-checker:disable]: # - - **BYOLLM (Bring Your Own LLM):** You can use your own language model provider, giving you full control over the AI experience. -[// spell-checker:enable]: # - - **Direct Algolia index integration:** The provider/models retrieve relevant context directly from your Algolia index, ensuring accurate and up-to-date answers. - **Recently asked & conversation history:** Easily revisit your recent questions and jump back into previous Ask AI conversations. - **Seamless integration:** Ask AI is available directly from the search modal. diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 38906a8d415b..7ed001e3e056 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -655,8 +655,6 @@ export default async function createConfigAsync() { appId: 'X1Z85QJPUV', apiKey: 'bf7211c161e8205da2f933a02534105a', indexName: 'docusaurus-2', - /* cSpell:ignore RgIMYFUmTfrN */ - askAi: 'RgIMYFUmTfrN', replaceSearchResultPathname: isDev || isDeployPreview ? { diff --git a/yarn.lock b/yarn.lock index ff756d4074a6..c5d82b461b76 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,181 +2,163 @@ # yarn lockfile v1 -"@ai-sdk/provider-utils@2.2.8": - version "2.2.8" - resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz#ad11b92d5a1763ab34ba7b5fc42494bfe08b76d1" - integrity sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA== - dependencies: - "@ai-sdk/provider" "1.1.3" - nanoid "^3.3.8" - secure-json-parse "^2.7.0" - -"@ai-sdk/provider@1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-1.1.3.tgz#ebdda8077b8d2b3f290dcba32c45ad19b2704681" - integrity sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg== - dependencies: - json-schema "^0.4.0" - -"@ai-sdk/react@^1.2.12": - version "1.2.12" - resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-1.2.12.tgz#f4250b6df566b170af98a71d5708b52108dd0ce1" - integrity sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g== - dependencies: - "@ai-sdk/provider-utils" "2.2.8" - "@ai-sdk/ui-utils" "1.2.11" - swr "^2.2.5" - throttleit "2.1.0" - -"@ai-sdk/ui-utils@1.2.11": - version "1.2.11" - resolved "https://registry.yarnpkg.com/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz#4f815589d08d8fef7292ade54ee5db5d09652603" - integrity sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w== - dependencies: - "@ai-sdk/provider" "1.1.3" - "@ai-sdk/provider-utils" "2.2.8" - zod-to-json-schema "^3.24.1" - -"@algolia/autocomplete-core@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz#702df67a08cb3cfe8c33ee1111ef136ec1a9e232" - integrity sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.19.2" - "@algolia/autocomplete-shared" "1.19.2" - -"@algolia/autocomplete-plugin-algolia-insights@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz#3584b625b9317e333d1ae43664d02358e175c52d" - integrity sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg== - dependencies: - "@algolia/autocomplete-shared" "1.19.2" - -"@algolia/autocomplete-shared@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" - integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w== - -"@algolia/client-abtesting@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.32.0.tgz#b9ce496665c5385ef09d2297e280381c78598e9d" - integrity sha512-HG/6Eib6DnJYm/B2ijWFXr4txca/YOuA4K7AsEU0JBrOZSB+RU7oeDyNBPi3c0v0UDDqlkBqM3vBU/auwZlglA== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-analytics@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.32.0.tgz#844ae80626bdaa1b5a1750b538db585734ec70ee" - integrity sha512-8Y9MLU72WFQOW3HArYv16+Wvm6eGmsqbxxM1qxtm0hvSASJbxCm+zQAZe5stqysTlcWo4BJ82KEH1PfgHbJAmQ== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-common@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.32.0.tgz#468b36d0ee7c9c64bafc62099475a1889d032196" - integrity sha512-w8L+rgyXMCPBKmEdOT+RfgMrF0mT6HK60vPYWLz8DBs/P7yFdGo7urn99XCJvVLMSKXrIbZ2FMZ/i50nZTXnuQ== - -"@algolia/client-insights@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.32.0.tgz#18c4011a782b8ab8bb73af5afbc8aca1a16474d7" - integrity sha512-AdWfynhUeX7jz/LTiFU3wwzJembTbdLkQIOLs4n7PyBuxZ3jz4azV1CWbIP8AjUOFmul6uXbmYza+KqyS5CzOA== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-personalization@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.32.0.tgz#3b3fd95f8c437ed5becfa4ec97f3c3b8396d5a20" - integrity sha512-bTupJY4xzGZYI4cEQcPlSjjIEzMvv80h7zXGrXY1Y0KC/n/SLiMv84v7Uy+B6AG1Kiy9FQm2ADChBLo1uEhGtQ== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-query-suggestions@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.32.0.tgz#4582f47f120da89029d3511818342c0a90a22f62" - integrity sha512-if+YTJw1G3nDKL2omSBjQltCHUQzbaHADkcPQrGFnIGhVyHU3Dzq4g46uEv8mrL5sxL8FjiS9LvekeUlL2NRqw== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" - -"@algolia/client-search@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.32.0.tgz#0e3b4775bf98e9215b683d598d0fce2d94b7b062" - integrity sha512-kmK5nVkKb4DSUgwbveMKe4X3xHdMsPsOVJeEzBvFJ+oS7CkBPmpfHAEq+CcmiPJs20YMv6yVtUT9yPWL5WgAhg== - dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" +"@algolia/abtesting@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.1.0.tgz#32c84876956727dcdca8df03c567f12fb39edf0d" + integrity sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow== + dependencies: + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" + +"@algolia/autocomplete-core@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" + integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-plugin-algolia-insights@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" + integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== + dependencies: + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-preset-algolia@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" + integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== + dependencies: + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-shared@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" + integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== + +"@algolia/client-abtesting@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz#e4cb9ad90357c8b26fb6fbcd0157cc8bd1b600ed" + integrity sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ== + dependencies: + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" + +"@algolia/client-analytics@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.35.0.tgz#ff0b9d9cbda074472d727a2d0a6b18bcc47076be" + integrity sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw== + dependencies: + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" + +"@algolia/client-common@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.35.0.tgz#1d72b36308ceaa53d7d488cd3a161506ddeb0c42" + integrity sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w== + +"@algolia/client-insights@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.35.0.tgz#8fd51eead7d89925522d48b5c164b3d7b656707c" + integrity sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA== + dependencies: + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" + +"@algolia/client-personalization@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.35.0.tgz#a661767851269b8ff091eaa900fe0b65b3937382" + integrity sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA== + dependencies: + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" + +"@algolia/client-query-suggestions@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz#b8704f3cdb2b49b8f0348bb77a3821a5ffa5b73b" + integrity sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w== + dependencies: + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" + +"@algolia/client-search@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.35.0.tgz#61441c4de212d8a1af93ab1406f46fd3386c35a0" + integrity sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg== + dependencies: + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" "@algolia/events@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/ingestion@1.32.0": - version "1.32.0" - resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.32.0.tgz#4ab08b4c72205c8727dfafeefc4651a07ea2ed9d" - integrity sha512-PZTqjJbx+fmPuT2ud1n4vYDSF1yrT//vOGI9HNYKNA0PM0xGUBWigf5gRivHsXa3oBnUlTyHV9j7Kqx5BHbVHQ== +"@algolia/ingestion@1.35.0": + version "1.35.0" + resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.35.0.tgz#fb263cc190da421756f8f52e3fe5e5afdc89f68c" + integrity sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA== dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" -"@algolia/monitoring@1.32.0": - version "1.32.0" - resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.32.0.tgz#6c9343081184e40c3bf0a4c01b96ac3d8c0c2190" - integrity sha512-kYYoOGjvNQAmHDS1v5sBj+0uEL9RzYqH/TAdq8wmcV+/22weKt/fjh+6LfiqkS1SCZFYYrwGnirrUhUM36lBIQ== +"@algolia/monitoring@1.35.0": + version "1.35.0" + resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.35.0.tgz#6be2b3e2a48328b57d98827da9c85ec2b42d49da" + integrity sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw== dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" -"@algolia/recommend@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.32.0.tgz#fb508fc35bc0ad2f549fe520e4961733081f334c" - integrity sha512-jyIBLdskjPAL7T1g57UMfUNx+PzvYbxKslwRUKBrBA6sNEsYCFdxJAtZSLUMmw6MC98RDt4ksmEl5zVMT5bsuw== +"@algolia/recommend@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.35.0.tgz#03c3d1dbbd1b5b07dda98350b45640c819081211" + integrity sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ== dependencies: - "@algolia/client-common" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" + "@algolia/client-common" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" -"@algolia/requester-browser-xhr@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.32.0.tgz#17617ec3b1ec304f9ff43f7eee482766aa7b49e0" - integrity sha512-eDp14z92Gt6JlFgiexImcWWH+Lk07s/FtxcoDaGrE4UVBgpwqOO6AfQM6dXh1pvHxlDFbMJihHc/vj3gBhPjqQ== +"@algolia/requester-browser-xhr@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz#b1c26fc9be80a0ddde6b2e45fb50d52c7c6c05f4" + integrity sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw== dependencies: - "@algolia/client-common" "5.32.0" + "@algolia/client-common" "5.35.0" -"@algolia/requester-fetch@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.32.0.tgz#4d388574c0cce3edcd430d915c136d94c6ea0d4b" - integrity sha512-rnWVglh/K75hnaLbwSc2t7gCkbq1ldbPgeIKDUiEJxZ4mlguFgcltWjzpDQ/t1LQgxk9HdIFcQfM17Hid3aQ6Q== +"@algolia/requester-fetch@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz#29815c5bf501148ea619ed96bae09c099a5cced4" + integrity sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ== dependencies: - "@algolia/client-common" "5.32.0" + "@algolia/client-common" "5.35.0" -"@algolia/requester-node-http@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.32.0.tgz#ef7d878e62c30d97e7588ad05752bb080f52a90e" - integrity sha512-LbzQ04+VLkzXY4LuOzgyjqEv/46Gwrk55PldaglMJ4i4eDXSRXGKkwJpXFwsoU+c1HMQlHIyjJBhrfsfdyRmyQ== +"@algolia/requester-node-http@5.35.0": + version "5.35.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz#9095b80a0ae77f574036261f44053636e31d1baf" + integrity sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ== dependencies: - "@algolia/client-common" "5.32.0" + "@algolia/client-common" "5.35.0" "@ampproject/remapping@^2.2.0": version "2.3.0" @@ -2068,21 +2050,20 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@4.0.0-beta.3": - version "4.0.0-beta.3" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.3.tgz#1904e1ce795e1ba28ec10ffbd918a4192d3cc72b" - integrity sha512-iSENteRjgkvNzWxG4PDp/tl61LzZcAf8OxyO84Mk0LCj3tEqPFCOed/0vq4WDUOAWgYAPS12pa7TpUihFlqPpg== +"@docsearch/css@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" + integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== -"@docsearch/react@beta": - version "4.0.0-beta.3" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.3.tgz#b54475ad5ba461258b82594673b9e16eb064c415" - integrity sha512-j9LwFh8Vi54PEO8yQvEGryCAHw1BwJPaH6Qw6Xf2Beawe4qofbiWprKdkTugghIwZUSbhDcb20DH8d9V7tkmew== +"@docsearch/react@^3.9.0 || ^4.0.0-beta.5 || ^4.0.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" + integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== dependencies: - "@ai-sdk/react" "^1.2.12" - "@algolia/autocomplete-core" "1.19.2" - "@docsearch/css" "4.0.0-beta.3" - algoliasearch "^5.28.0" - marked "^15.0.12" + "@algolia/autocomplete-core" "1.17.9" + "@algolia/autocomplete-preset-algolia" "1.17.9" + "@docsearch/css" "3.9.0" + algoliasearch "^5.14.2" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -5160,24 +5141,25 @@ algoliasearch-helper@^3.22.6: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.17.1, algoliasearch@^5.28.0: - version "5.32.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.32.0.tgz#2b9d17c4592b573146e3a2322a563aef68d473e3" - integrity sha512-84xBncKNPBK8Ae89F65+SyVcOihrIbm/3N7to+GpRBHEUXGjA3ydWTMpcRW6jmFzkBQ/eqYy/y+J+NBpJWYjBg== - dependencies: - "@algolia/client-abtesting" "5.32.0" - "@algolia/client-analytics" "5.32.0" - "@algolia/client-common" "5.32.0" - "@algolia/client-insights" "5.32.0" - "@algolia/client-personalization" "5.32.0" - "@algolia/client-query-suggestions" "5.32.0" - "@algolia/client-search" "5.32.0" - "@algolia/ingestion" "1.32.0" - "@algolia/monitoring" "1.32.0" - "@algolia/recommend" "5.32.0" - "@algolia/requester-browser-xhr" "5.32.0" - "@algolia/requester-fetch" "5.32.0" - "@algolia/requester-node-http" "5.32.0" +algoliasearch@^5.14.2, algoliasearch@^5.17.1: + version "5.35.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.35.0.tgz#ce12d1d287d6f4a80b9998568f806c92dabba566" + integrity sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg== + dependencies: + "@algolia/abtesting" "1.1.0" + "@algolia/client-abtesting" "5.35.0" + "@algolia/client-analytics" "5.35.0" + "@algolia/client-common" "5.35.0" + "@algolia/client-insights" "5.35.0" + "@algolia/client-personalization" "5.35.0" + "@algolia/client-query-suggestions" "5.35.0" + "@algolia/client-search" "5.35.0" + "@algolia/ingestion" "1.35.0" + "@algolia/monitoring" "1.35.0" + "@algolia/recommend" "5.35.0" + "@algolia/requester-browser-xhr" "5.35.0" + "@algolia/requester-fetch" "5.35.0" + "@algolia/requester-node-http" "5.35.0" ansi-align@^3.0.1: version "3.0.1" @@ -7732,7 +7714,7 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -dequal@^2.0.0, dequal@^2.0.3: +dequal@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -12175,7 +12157,7 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== -marked@^15.0.12, marked@^15.0.7: +marked@^15.0.7: version "15.0.12" resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e" integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA== @@ -13277,7 +13259,7 @@ mz@^2.4.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11, nanoid@^3.3.8: +nanoid@^3.3.11: version "3.3.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== @@ -16321,11 +16303,6 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" -secure-json-parse@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" - integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -17359,14 +17336,6 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" -swr@^2.2.5: - version "2.3.4" - resolved "https://registry.yarnpkg.com/swr/-/swr-2.3.4.tgz#60bcb5b97cae157a6ef69eff0ed2beb9010eba69" - integrity sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg== - dependencies: - dequal "^2.0.3" - use-sync-external-store "^1.4.0" - symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -17536,11 +17505,6 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -throttleit@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-2.1.0.tgz#a7e4aa0bf4845a5bd10daa39ea0c783f631a07b4" - integrity sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw== - through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -18212,11 +18176,6 @@ use-editable@^2.3.3: resolved "https://registry.yarnpkg.com/use-editable/-/use-editable-2.3.3.tgz#a292fe9ba4c291cd28d1cc2728c75a5fc8d9a33f" integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA== -use-sync-external-store@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" - integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -19109,11 +19068,6 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== -zod-to-json-schema@^3.24.1: - version "3.24.6" - resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz#5920f020c4d2647edfbb954fa036082b92c9e12d" - integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg== - zod-validation-error@^3.0.3: version "3.4.0" resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" From b7c60c5baf49fc1f79835061262d3e3da3a702fe Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Mon, 11 Aug 2025 10:58:42 +0200 Subject: [PATCH 08/53] fixup: resolve comments --- .../package.json | 2 +- .../src/__tests__/validateThemeConfig.test.ts | 91 ++++++++++ .../src/client/index.ts | 1 + .../src/client/useAlgoliaAskAi.ts | 133 +++++++++++++++ .../src/theme-search-algolia.d.ts | 52 ++++++ .../src/theme/SearchBar/index.tsx | 158 ++---------------- .../src/theme/SearchBar/styles.css | 1 + .../src/theme/SearchTranslations/index.ts | 12 +- .../src/validateThemeConfig.ts | 52 +++++- website/docs/search.mdx | 3 +- yarn.lock | 133 ++++++++++----- 11 files changed, 454 insertions(+), 184 deletions(-) create mode 100644 packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index 5951a5e3bf7c..20a1b5f5b0cf 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -33,7 +33,7 @@ "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch" }, "dependencies": { - "@docsearch/react": "^3.9.0 || ^4.0.0-beta.5 || ^4.0.0", + "@docsearch/react": "^4.0.0-beta.6", "@docusaurus/core": "3.8.1", "@docusaurus/logger": "3.8.1", "@docusaurus/plugin-content-docs": "3.8.1", diff --git a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts index 7559aef403ba..cb1bce6cfa82 100644 --- a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts +++ b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts @@ -5,9 +5,12 @@ * LICENSE file in the root directory of this source tree. */ +// mock docsearch to a v4 version to allow askai tests to pass import {DEFAULT_CONFIG, validateThemeConfig} from '../validateThemeConfig'; import type {Joi} from '@docusaurus/utils-validation'; +jest.mock('@docsearch/react', () => ({version: '4.0.0'})); + function testValidateThemeConfig(themeConfig: {[key: string]: unknown}) { function validate( schema: Joi.ObjectSchema<{[key: string]: unknown}>, @@ -184,4 +187,92 @@ describe('validateThemeConfig', () => { }, }); }); + + describe('askAi config validation', () => { + it('accepts string format (assistantId)', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + askAi: 'my-assistant-id', + }; + expect(testValidateThemeConfig({algolia})).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + askAi: { + indexName: 'index', + apiKey: 'apiKey', + appId: 'BH4D9OD16A', + assistantId: 'my-assistant-id', + }, + }, + }); + }); + + it('accepts full object format', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + askAi: { + indexName: 'ai-index', + apiKey: 'ai-apiKey', + appId: 'ai-appId', + assistantId: 'my-assistant-id', + }, + }; + expect(testValidateThemeConfig({algolia})).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + }, + }); + }); + + it('rejects invalid type', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + askAi: 123, // Invalid: should be string or object + }; + expect(() => + testValidateThemeConfig({algolia}), + ).toThrowErrorMatchingInlineSnapshot( + `"askAi must be either a string (assistantId) or an object with indexName, apiKey, appId, and assistantId"`, + ); + }); + + it('rejects object missing required fields', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + askAi: { + assistantId: 'my-assistant-id', + // Missing indexName, apiKey, appId + }, + }; + expect(() => + testValidateThemeConfig({algolia}), + ).toThrowErrorMatchingInlineSnapshot( + `""algolia.askAi.indexName" is required"`, + ); + }); + + it('accepts undefined askAi', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + }; + expect(testValidateThemeConfig({algolia})).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + }, + }); + }); + }); }); diff --git a/packages/docusaurus-theme-search-algolia/src/client/index.ts b/packages/docusaurus-theme-search-algolia/src/client/index.ts index 5050ce6aa057..b7e597df560d 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/index.ts @@ -8,3 +8,4 @@ export {useAlgoliaThemeConfig} from './useAlgoliaThemeConfig'; export {useAlgoliaContextualFacetFilters} from './useAlgoliaContextualFacetFilters'; export {useSearchResultUrlProcessor} from './useSearchResultUrlProcessor'; +export {useAlgoliaAskAi} from './useAlgoliaAskAi'; diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts new file mode 100644 index 000000000000..aacd9ffa2ed9 --- /dev/null +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts @@ -0,0 +1,133 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import {useCallback, useMemo, useState} from 'react'; +import { + version as docsearchVersion, + type DocSearchModalProps, + type DocSearchTranslations, +} from '@docsearch/react'; +import translations from '@theme/SearchTranslations'; +import type {FacetFilters} from 'algoliasearch/lite'; + +// v4 specific types +type AskAiConfig = { + indexName: string; + apiKey: string; + appId: string; + assistantId: string; + searchParameters?: { + facetFilters: FacetFilters; + }; +}; + +// minimal props the hook needs from docsearch v4 props +interface DocSearchV4PropsLite { + indexName: string; + apiKey: string; + appId: string; + placeholder?: string; + translations?: DocSearchTranslations; + searchParameters?: DocSearchModalProps['searchParameters']; + askAi?: string | AskAiConfig; +} + +const isV4 = docsearchVersion.startsWith('4.'); + +export function useAlgoliaAskAi( + props: DocSearchV4PropsLite, + searchParameters: DocSearchModalProps['searchParameters'], +): { + canHandleAskAi: boolean; + isAskAiActive: boolean; + currentPlaceholder: string | undefined; + onAskAiToggle: (active: boolean) => void; + askAi?: AskAiConfig; + extraAskAiProps: Partial & { + askAi?: AskAiConfig; + canHandleAskAi?: boolean; + isAskAiActive?: boolean; + onAskAiToggle?: (active: boolean) => void; + }; +} { + const [isAskAiActive, setIsAskAiActive] = useState(false); + + const askAiProp = props.askAi as DocSearchV4PropsLite['askAi']; + + // validate askai compatibility with docsearch version + if (askAiProp && !isV4) { + throw new Error( + 'The askAi feature is only supported in DocSearch v4. ' + + 'Please upgrade to DocSearch v4 by installing "@docsearch/react": "^4.0.0" ' + + 'or remove the askAi configuration from your theme config.', + ); + } + + const canHandleAskAi = Boolean(props?.askAi); + + let currentPlaceholder = + ((translations.modal as unknown as {searchBox?: {placeholderText?: string}}) + ?.searchBox?.placeholderText as string | undefined) || props?.placeholder; + + if (isAskAiActive && isV4) { + currentPlaceholder = ( + translations.modal as unknown as { + searchBox?: {placeholderTextAskAi?: string}; + } + )?.searchBox?.placeholderTextAskAi as string; + } + + const onAskAiToggle = useCallback((askAiToggle: boolean) => { + setIsAskAiActive(askAiToggle); + }, []); + + const isAskAiPropAssistantId = typeof askAiProp === 'string'; + + const askAi = useMemo(() => { + if (!askAiProp) { + return undefined; + } + + return { + indexName: isAskAiPropAssistantId ? props.indexName : askAiProp.indexName, + apiKey: isAskAiPropAssistantId ? props.apiKey : askAiProp.apiKey, + appId: isAskAiPropAssistantId ? props.appId : askAiProp.appId, + assistantId: isAskAiPropAssistantId ? askAiProp : askAiProp.assistantId, + searchParameters: searchParameters?.facetFilters + ? {facetFilters: searchParameters.facetFilters} + : undefined, + } as AskAiConfig; + }, [ + askAiProp, + isAskAiPropAssistantId, + props.indexName, + props.apiKey, + props.appId, + searchParameters, + ]); + + const extraAskAiProps: Partial & { + askAi?: AskAiConfig; + canHandleAskAi?: boolean; + isAskAiActive?: boolean; + onAskAiToggle?: (active: boolean) => void; + } = { + askAi, + canHandleAskAi, + isAskAiActive, + onAskAiToggle, + }; + + return { + canHandleAskAi, + isAskAiActive, + currentPlaceholder, + onAskAiToggle, + askAi, + extraAskAiProps, + } as const; +} diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index ce0bac946af2..041959ad638a 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -49,6 +49,58 @@ declare module '@docusaurus/theme-search-algolia/client' { export function useAlgoliaContextualFacetFilters(): [string, string[]]; export function useSearchResultUrlProcessor(): (url: string) => string; + + // v4 ask ai helper + export function useAlgoliaAskAi( + props: { + indexName: string; + apiKey: string; + appId: string; + placeholder?: string; + translations?: import('@docsearch/react').DocSearchTranslations; + searchParameters?: import('@docsearch/react').DocSearchModalProps['searchParameters']; + askAi?: + | string + | { + indexName: string; + apiKey: string; + appId: string; + assistantId: string; + searchParameters?: { + facetFilters: import('algoliasearch/lite').FacetFilters; + }; + }; + }, + searchParameters: import('@docsearch/react').DocSearchModalProps['searchParameters'], + ): { + canHandleAskAi: boolean; + isAskAiActive: boolean; + currentPlaceholder: string | undefined; + onAskAiToggle: (active: boolean) => void; + askAi?: { + indexName: string; + apiKey: string; + appId: string; + assistantId: string; + searchParameters?: { + facetFilters: import('algoliasearch/lite').FacetFilters; + }; + }; + extraAskAiProps: Partial & { + askAi?: { + indexName: string; + apiKey: string; + appId: string; + assistantId: string; + searchParameters?: { + facetFilters: import('algoliasearch/lite').FacetFilters; + }; + }; + canHandleAskAi?: boolean; + isAskAiActive?: boolean; + onAskAiToggle?: (active: boolean) => void; + }; + }; } declare module '@theme/SearchPage' { diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index d013f0736f69..e2539b9a5c38 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -13,11 +13,7 @@ import React, { type ReactNode, } from 'react'; import {createPortal} from 'react-dom'; -import { - DocSearchButton, - useDocSearchKeyboardEvents, - version as docsearchVersion, -} from '@docsearch/react'; +import {DocSearchButton, useDocSearchKeyboardEvents} from '@docsearch/react'; import Head from '@docusaurus/Head'; import Link from '@docusaurus/Link'; import {useHistory} from '@docusaurus/router'; @@ -28,6 +24,7 @@ import { import { useAlgoliaContextualFacetFilters, useSearchResultUrlProcessor, + useAlgoliaAskAi, } from '@docusaurus/theme-search-algolia/client'; import Translate from '@docusaurus/Translate'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; @@ -54,33 +51,13 @@ type DocSearchProps = Omit< searchPagePath: boolean | string; }; -// V4 specific types -type AskAiConfig = { - indexName: string; - apiKey: string; - appId: string; - assistantId: string; - searchParameters?: { - facetFilters: FacetFilters; - }; -}; - -// Extend DocSearchProps for v4 features +// extend DocSearchProps for v4 features interface DocSearchV4Props extends DocSearchProps { - askAi?: string | AskAiConfig; + // todo(v4): remove any when we default to v4 + askAi?: any; translations?: DocSearchTranslations; } -// Extend DocSearchModalProps for v4 features -interface DocSearchModalV4Props extends DocSearchModalProps { - askAi?: AskAiConfig; - canHandleAskAi?: boolean; - isAskAiActive?: boolean; - onAskAiToggle?: (active: boolean) => void; -} - -const isV4 = docsearchVersion.startsWith('4'); - let DocSearchModal: typeof DocSearchModalType | null = null; function importDocSearchModalIfNeeded() { @@ -162,84 +139,6 @@ function useResultsFooterComponent({ ); } -function useAskAi( - props: DocSearchV4Props, - searchParameters: DocSearchProps['searchParameters'], -) { - const [isAskAiActive, setIsAskAiActive] = useState(false); - - const canHandleAskAi = Boolean(props?.askAi); - - let currentPlaceholder = - (translations.modal?.searchBox as any)?.placeholderText || - props?.placeholder; - - if (isAskAiActive && isV4) { - currentPlaceholder = (translations.modal?.searchBox as any) - ?.placeholderTextAskAi as string; - } - - const onAskAiToggle = useCallback((askAiToggle: boolean) => { - setIsAskAiActive(askAiToggle); - }, []); - - const askAiProp = props.askAi as - | undefined - | string - | { - indexName: string; - apiKey: string; - appId: string; - assistantId: string; - }; - - const isAskAiPropAssistantId = typeof askAiProp === 'string'; - - const askAi = useMemo(() => { - if (!askAiProp) { - return undefined; - } - - if (askAiProp && !isV4) { - console.warn( - 'Ask AI is ONLY supported in DocSearch v4. Please use to the latest version of DocSearch.', - ); - return undefined; - } - - return { - indexName: isAskAiPropAssistantId ? props.indexName : askAiProp.indexName, - apiKey: isAskAiPropAssistantId ? props.apiKey : askAiProp.apiKey, - appId: isAskAiPropAssistantId ? props.appId : askAiProp.appId, - assistantId: isAskAiPropAssistantId ? askAiProp : askAiProp.assistantId, - searchParameters: searchParameters?.facetFilters - ? {facetFilters: searchParameters.facetFilters} - : undefined, - }; - }, [ - askAiProp, - isAskAiPropAssistantId, - props.indexName, - props.apiKey, - props.appId, - searchParameters, - ]); - - // Utility to reset Ask AI active state when closing the modal ------------- - const resetAskAiActive = useCallback(() => { - setIsAskAiActive(false); - }, []); - - return { - canHandleAskAi, - isAskAiActive, - currentPlaceholder, - onAskAiToggle, - askAi, - resetAskAiActive, - } as const; -} - function Hit({ hit, children, @@ -305,36 +204,18 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { const transformSearchClient = useTransformSearchClient(); const searchContainer = useRef(null); - // TODO remove "as any" after React 19 upgrade - const searchButtonRef = useRef(null as any); + const searchButtonRef = useRef(null); const [isOpen, setIsOpen] = useState(false); const [initialQuery, setInitialQuery] = useState( undefined, ); - const { - canHandleAskAi, - isAskAiActive, - currentPlaceholder, - onAskAiToggle, - askAi, - resetAskAiActive, - } = useAskAi(props, searchParameters); - - // Build extra props only when using DocSearch v4 - const extraAskAiProps: Partial = useMemo( - () => - isV4 - ? { - // Ask-AI related props (v4 only) - askAi, - canHandleAskAi, - isAskAiActive, - onAskAiToggle, - } - : {}, - [askAi, canHandleAskAi, isAskAiActive, onAskAiToggle], - ); + const {isAskAiActive, currentPlaceholder, onAskAiToggle, extraAskAiProps} = + useAlgoliaAskAi( + // todo(v4): remove any when we default to v4 + props as any, + searchParameters, + ); const prepareSearchContainer = useCallback(() => { if (!searchContainer.current) { @@ -353,8 +234,8 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { setIsOpen(false); searchButtonRef.current?.focus(); setInitialQuery(undefined); - resetAskAiActive(); - }, [resetAskAiActive]); + onAskAiToggle(false); + }, [onAskAiToggle]); const handleInput = useCallback( (event: KeyboardEvent) => { @@ -378,13 +259,10 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { onClose: closeModal, onInput: handleInput, searchButtonRef, - ...(isV4 - ? { - isAskAiActive, - onAskAiToggle, - } - : {}), - }); + isAskAiActive: isAskAiActive ?? false, + onAskAiToggle: onAskAiToggle ?? (() => {}), + // todo(v4): remove any when we default to v4 + } as any); return ( <> diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css index 78689effe4e5..d153e2e7c98c 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css @@ -14,6 +14,7 @@ margin: 0; transition: all var(--ifm-transition-fast) var(--ifm-transition-timing-default); + width: auto; } .DocSearch-Container { diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts index 768ba88d9506..b3fd921085df 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts @@ -23,6 +23,10 @@ const translations: DocSearchTranslations & { clearButtonTitle?: string; clearButtonAriaLabel?: string; closeButtonText?: string; + resetButtonTitle?: string; + resetButtonAriaLabel?: string; + cancelButtonText?: string; + cancelButtonAriaLabel?: string; closeButtonAriaLabel?: string; }; startScreen?: { @@ -52,6 +56,7 @@ const translations: DocSearchTranslations & { submitQuestionText?: string; poweredByText?: string; backToSearchText?: string; + searchByText?: string; }; }; } = { @@ -336,7 +341,12 @@ const translations: DocSearchTranslations & { }), poweredByText: translate({ id: 'theme.SearchModal.footer.searchByText', - message: 'Search by', + message: 'Powered by', + description: 'The search by text for footer', + }), + searchByText: translate({ + id: 'theme.SearchModal.footer.searchByText', + message: 'Powered by', description: 'The search by text for footer', }), backToSearchText: translate({ diff --git a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts index 2e1061d86429..4d46664f53ec 100644 --- a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts +++ b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts @@ -7,6 +7,7 @@ import {escapeRegexp} from '@docusaurus/utils'; import {Joi} from '@docusaurus/utils-validation'; +import {version as docsearchVersion} from '@docsearch/react'; import type { ThemeConfig, ThemeConfigValidationContext, @@ -53,15 +54,62 @@ export const Schema = Joi.object({ }).required(), to: Joi.string().required(), }).optional(), + // Ask AI configuration (DocSearch v4 only) + askAi: Joi.alternatives() + .try( + // Simple string format (assistantId only) + Joi.string(), + // Full configuration object + Joi.object({ + indexName: Joi.string().required(), + apiKey: Joi.string().required(), + appId: Joi.string().required(), + assistantId: Joi.string().required(), + }), + ) + .optional() + .messages({ + 'alternatives.types': + 'askAi must be either a string (assistantId) or an object with indexName, apiKey, appId, and assistantId', + }), }) .label('themeConfig.algolia') .required() - .unknown(), // DocSearch 3 is still alpha: don't validate the rest for now + .unknown(), }); export function validateThemeConfig({ validate, themeConfig, }: ThemeConfigValidationContext): ThemeConfig { - return validate(Schema, themeConfig); + const validated = validate(Schema, themeConfig); + + // normalize askai: allow users to pass a simple assistant id string and + // convert it here to the full object shape using root algolia credentials + const algolia = (validated as any).algolia as { + indexName: string; + apiKey: string; + appId: string; + askAi?: unknown; + }; + + if (algolia && typeof algolia.askAi === 'string') { + algolia.askAi = { + indexName: algolia.indexName, + apiKey: algolia.apiKey, + appId: algolia.appId, + assistantId: algolia.askAi, + } as unknown; + } + + // enforce docsearch v4 requirement when askai is configured + if ((algolia as any)?.askAi && !docsearchVersion.startsWith('4.')) { + throw new Error( + 'The askAi feature is only supported in DocSearch v4. ' + + 'Please upgrade to DocSearch v4 by installing "@docsearch/react": "^4.0.0" ' + + 'or remove the askAi configuration from your theme config.', + ); + } + + return validated; } diff --git a/website/docs/search.mdx b/website/docs/search.mdx index 40c323067e87..0320b812cf6e 100644 --- a/website/docs/search.mdx +++ b/website/docs/search.mdx @@ -226,7 +226,6 @@ Ask AI brings the power of AI to your documentation: - **Conversational search:** Users can ask questions in natural language and get context-aware answers. - **Completely free:** Ask AI is available at no additional cost. You'll pay only for the LLM usage to your provider. - **BYOLLM (Bring Your Own LLM):** You can use your own language model provider, giving you full control over the AI experience. - - **Direct Algolia index integration:** The provider/models retrieve relevant context directly from your Algolia index, ensuring accurate and up-to-date answers. - **Recently asked & conversation history:** Easily revisit your recent questions and jump back into previous Ask AI conversations. - **Seamless integration:** Ask AI is available directly from the search modal. @@ -257,7 +256,7 @@ export default { :::info -To use Ask AI, you need to have an Algolia index with the Ask AI assistant enabled. Learn more about how to [setup Ask AI](https://docsearch.algolia.com/docs/v4/ask-ai/create-an-assistant/). +To use Ask AI, you need to have an Algolia index with the Ask AI assistant enabled. Learn more about how to [setup Ask AI](https://docsearch.algolia.com/docs/v4/askai). ::: diff --git a/yarn.lock b/yarn.lock index c5d82b461b76..8e8d4de12447 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,41 @@ # yarn lockfile v1 +"@ai-sdk/provider-utils@2.2.8": + version "2.2.8" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz#ad11b92d5a1763ab34ba7b5fc42494bfe08b76d1" + integrity sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA== + dependencies: + "@ai-sdk/provider" "1.1.3" + nanoid "^3.3.8" + secure-json-parse "^2.7.0" + +"@ai-sdk/provider@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-1.1.3.tgz#ebdda8077b8d2b3f290dcba32c45ad19b2704681" + integrity sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg== + dependencies: + json-schema "^0.4.0" + +"@ai-sdk/react@^1.2.12": + version "1.2.12" + resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-1.2.12.tgz#f4250b6df566b170af98a71d5708b52108dd0ce1" + integrity sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g== + dependencies: + "@ai-sdk/provider-utils" "2.2.8" + "@ai-sdk/ui-utils" "1.2.11" + swr "^2.2.5" + throttleit "2.1.0" + +"@ai-sdk/ui-utils@1.2.11": + version "1.2.11" + resolved "https://registry.yarnpkg.com/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz#4f815589d08d8fef7292ade54ee5db5d09652603" + integrity sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w== + dependencies: + "@ai-sdk/provider" "1.1.3" + "@ai-sdk/provider-utils" "2.2.8" + zod-to-json-schema "^3.24.1" + "@algolia/abtesting@1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.1.0.tgz#32c84876956727dcdca8df03c567f12fb39edf0d" @@ -12,32 +47,25 @@ "@algolia/requester-fetch" "5.35.0" "@algolia/requester-node-http" "5.35.0" -"@algolia/autocomplete-core@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" - integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" - "@algolia/autocomplete-shared" "1.17.9" - -"@algolia/autocomplete-plugin-algolia-insights@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" - integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== +"@algolia/autocomplete-core@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz#702df67a08cb3cfe8c33ee1111ef136ec1a9e232" + integrity sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw== dependencies: - "@algolia/autocomplete-shared" "1.17.9" + "@algolia/autocomplete-plugin-algolia-insights" "1.19.2" + "@algolia/autocomplete-shared" "1.19.2" -"@algolia/autocomplete-preset-algolia@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" - integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== +"@algolia/autocomplete-plugin-algolia-insights@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz#3584b625b9317e333d1ae43664d02358e175c52d" + integrity sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg== dependencies: - "@algolia/autocomplete-shared" "1.17.9" + "@algolia/autocomplete-shared" "1.19.2" -"@algolia/autocomplete-shared@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" - integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== +"@algolia/autocomplete-shared@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" + integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w== "@algolia/client-abtesting@5.35.0": version "5.35.0" @@ -2050,20 +2078,21 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" - integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== +"@docsearch/css@4.0.0-beta.6": + version "4.0.0-beta.6" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.6.tgz#eac4594a7eb587ceb63393c2cc129a9b4e63e5b0" + integrity sha512-LmUwTbRnj6CJV8RW2FysHEm238X2sC2QjL1AKcKVdstuZ12r85o9PdOgNZgRMUCIgJuZteyMeBGBZo258DH70g== -"@docsearch/react@^3.9.0 || ^4.0.0-beta.5 || ^4.0.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" - integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== +"@docsearch/react@^4.0.0-beta.6": + version "4.0.0-beta.6" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.6.tgz#332768273a6774ca41ba5774e4ae316e2266b5da" + integrity sha512-JwodRuSobQSDAhlt621Rl8GDcwZKcWGRy+99gD07EwkUYO4PRZUFs8XDceDZflw/95+FGPpTAUVwCVqEpsMT6Q== dependencies: - "@algolia/autocomplete-core" "1.17.9" - "@algolia/autocomplete-preset-algolia" "1.17.9" - "@docsearch/css" "3.9.0" - algoliasearch "^5.14.2" + "@ai-sdk/react" "^1.2.12" + "@algolia/autocomplete-core" "1.19.2" + "@docsearch/css" "4.0.0-beta.6" + algoliasearch "^5.28.0" + marked "^15.0.12" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -5141,7 +5170,7 @@ algoliasearch-helper@^3.22.6: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.14.2, algoliasearch@^5.17.1: +algoliasearch@^5.17.1, algoliasearch@^5.28.0: version "5.35.0" resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.35.0.tgz#ce12d1d287d6f4a80b9998568f806c92dabba566" integrity sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg== @@ -7714,7 +7743,7 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -dequal@^2.0.0: +dequal@^2.0.0, dequal@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -12157,7 +12186,7 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== -marked@^15.0.7: +marked@^15.0.12, marked@^15.0.7: version "15.0.12" resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e" integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA== @@ -13259,7 +13288,7 @@ mz@^2.4.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11: +nanoid@^3.3.11, nanoid@^3.3.8: version "3.3.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== @@ -16303,6 +16332,11 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" +secure-json-parse@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" + integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -17336,6 +17370,14 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" +swr@^2.2.5: + version "2.3.5" + resolved "https://registry.yarnpkg.com/swr/-/swr-2.3.5.tgz#f83ceab400bc4901420e0bdae8879f96a22254b8" + integrity sha512-4e7pjTVulZTIL+b/S0RYFsgDcTcXPLUOvBPqyh9YdD+PkHeEMoaPwDmF9Kv6I1nnPg1OFKhiiEYpsYaaE2W2jA== + dependencies: + dequal "^2.0.3" + use-sync-external-store "^1.4.0" + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -17505,6 +17547,11 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" +throttleit@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-2.1.0.tgz#a7e4aa0bf4845a5bd10daa39ea0c783f631a07b4" + integrity sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw== + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -18176,6 +18223,11 @@ use-editable@^2.3.3: resolved "https://registry.yarnpkg.com/use-editable/-/use-editable-2.3.3.tgz#a292fe9ba4c291cd28d1cc2728c75a5fc8d9a33f" integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA== +use-sync-external-store@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" + integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -19068,6 +19120,11 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== +zod-to-json-schema@^3.24.1: + version "3.24.6" + resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz#5920f020c4d2647edfbb954fa036082b92c9e12d" + integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg== + zod-validation-error@^3.0.3: version "3.4.0" resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" From 6b2aa00c422edd4fbf9ac6f9ad29228f81eb85a1 Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Sat, 16 Aug 2025 10:15:17 +0200 Subject: [PATCH 09/53] fix: version range --- packages/docusaurus-theme-search-algolia/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index 20a1b5f5b0cf..29b60537abbe 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -33,7 +33,7 @@ "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch" }, "dependencies": { - "@docsearch/react": "^4.0.0-beta.6", + "@docsearch/react": "^3.9.0 || ^4.0.0-beta.7 || ^4.0.0", "@docusaurus/core": "3.8.1", "@docusaurus/logger": "3.8.1", "@docusaurus/plugin-content-docs": "3.8.1", From 4c407ca52ff93b37aa4f274ac0e8ab55af009486 Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 4 Sep 2025 18:13:13 +0200 Subject: [PATCH 10/53] fix AskAI spelling in comments --- .../src/__tests__/validateThemeConfig.test.ts | 2 +- .../src/client/useAlgoliaAskAi.ts | 2 +- .../src/validateThemeConfig.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts index cb1bce6cfa82..f0f7a13a097d 100644 --- a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts +++ b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -// mock docsearch to a v4 version to allow askai tests to pass +// mock docsearch to a v4 version to allow AskAI tests to pass import {DEFAULT_CONFIG, validateThemeConfig} from '../validateThemeConfig'; import type {Joi} from '@docusaurus/utils-validation'; diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts index aacd9ffa2ed9..b6d668330654 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts @@ -58,7 +58,7 @@ export function useAlgoliaAskAi( const askAiProp = props.askAi as DocSearchV4PropsLite['askAi']; - // validate askai compatibility with docsearch version + // validate AskAI compatibility with docsearch version if (askAiProp && !isV4) { throw new Error( 'The askAi feature is only supported in DocSearch v4. ' + diff --git a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts index 4d46664f53ec..6c5ec629faca 100644 --- a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts +++ b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts @@ -84,7 +84,7 @@ export function validateThemeConfig({ }: ThemeConfigValidationContext): ThemeConfig { const validated = validate(Schema, themeConfig); - // normalize askai: allow users to pass a simple assistant id string and + // normalize AskAI: allow users to pass a simple assistant id string and // convert it here to the full object shape using root algolia credentials const algolia = (validated as any).algolia as { indexName: string; @@ -102,7 +102,7 @@ export function validateThemeConfig({ } as unknown; } - // enforce docsearch v4 requirement when askai is configured + // enforce docsearch v4 requirement when AskAI is configured if ((algolia as any)?.askAi && !docsearchVersion.startsWith('4.')) { throw new Error( 'The askAi feature is only supported in DocSearch v4. ' + From 5c53a49594a7c4924e46f0dc35df7c73eda13f7d Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 4 Sep 2025 18:15:24 +0200 Subject: [PATCH 11/53] fix little hydration mismatch due to CSS optimizations --- .../src/theme/SearchPage/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx index dca8881d85a9..fb275f506b69 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx @@ -151,7 +151,7 @@ function AlgoliaLogo(): ReactNode { style={{maxWidth: '150px'}}> {/* eslint-disable-next-line @docusaurus/no-untranslated-text */} - + Date: Thu, 4 Sep 2025 18:58:52 +0200 Subject: [PATCH 12/53] various type improvements --- .../src/__tests__/validateThemeConfig.test.ts | 51 ++++++++++++------- .../src/theme-search-algolia.d.ts | 4 +- .../src/validateThemeConfig.ts | 43 +++++++--------- 3 files changed, 55 insertions(+), 43 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts index f0f7a13a097d..9ee2db5edece 100644 --- a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts +++ b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts @@ -8,10 +8,13 @@ // mock docsearch to a v4 version to allow AskAI tests to pass import {DEFAULT_CONFIG, validateThemeConfig} from '../validateThemeConfig'; import type {Joi} from '@docusaurus/utils-validation'; +import type {ThemeConfigAlgolia} from '@docusaurus/theme-search-algolia'; jest.mock('@docsearch/react', () => ({version: '4.0.0'})); -function testValidateThemeConfig(themeConfig: {[key: string]: unknown}) { +function testValidateThemeConfig(themeConfig: { + algolia?: Partial; +}) { function validate( schema: Joi.ObjectSchema<{[key: string]: unknown}>, cfg: {[key: string]: unknown}, @@ -25,12 +28,15 @@ function testValidateThemeConfig(themeConfig: {[key: string]: unknown}) { return value; } - return validateThemeConfig({themeConfig, validate}); + return validateThemeConfig({ + themeConfig: themeConfig as {algolia: ThemeConfigAlgolia}, + validate, + }); } describe('validateThemeConfig', () => { it('minimal config', () => { - const algolia = { + const algolia: Partial = { indexName: 'index', apiKey: 'apiKey', appId: 'BH4D9OD16A', @@ -44,9 +50,10 @@ describe('validateThemeConfig', () => { }); it('unknown attributes', () => { - const algolia = { + const algolia: Partial = { indexName: 'index', apiKey: 'apiKey', + // @ts-expect-error: expected type error! unknownKey: 'unknownKey', appId: 'BH4D9OD16A', }; @@ -72,21 +79,30 @@ describe('validateThemeConfig', () => { }); it('missing indexName config', () => { - const algolia = {apiKey: 'apiKey', appId: 'BH4D9OD16A'}; + const algolia: Partial = { + apiKey: 'apiKey', + appId: 'BH4D9OD16A', + }; expect(() => testValidateThemeConfig({algolia}), ).toThrowErrorMatchingInlineSnapshot(`""algolia.indexName" is required"`); }); it('missing apiKey config', () => { - const algolia = {indexName: 'indexName', appId: 'BH4D9OD16A'}; + const algolia: Partial = { + indexName: 'indexName', + appId: 'BH4D9OD16A', + }; expect(() => testValidateThemeConfig({algolia}), ).toThrowErrorMatchingInlineSnapshot(`""algolia.apiKey" is required"`); }); it('missing appId config', () => { - const algolia = {indexName: 'indexName', apiKey: 'apiKey'}; + const algolia: Partial = { + indexName: 'indexName', + apiKey: 'apiKey', + }; expect(() => testValidateThemeConfig({algolia}), ).toThrowErrorMatchingInlineSnapshot( @@ -95,7 +111,7 @@ describe('validateThemeConfig', () => { }); it('contextualSearch config', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -110,7 +126,7 @@ describe('validateThemeConfig', () => { }); it('externalUrlRegex config', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -126,7 +142,7 @@ describe('validateThemeConfig', () => { describe('replaceSearchResultPathname', () => { it('escapes from string', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -148,11 +164,12 @@ describe('validateThemeConfig', () => { }); it('converts from regexp to string', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', replaceSearchResultPathname: { + // @ts-expect-error: test regexp input from: /^\/docs\/(?:1\.0|next)/, to: '/abc', }, @@ -172,7 +189,7 @@ describe('validateThemeConfig', () => { }); it('searchParameters.facetFilters search config', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -190,7 +207,7 @@ describe('validateThemeConfig', () => { describe('askAi config validation', () => { it('accepts string format (assistantId)', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -211,7 +228,7 @@ describe('validateThemeConfig', () => { }); it('accepts full object format', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -231,7 +248,7 @@ describe('validateThemeConfig', () => { }); it('rejects invalid type', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -245,7 +262,7 @@ describe('validateThemeConfig', () => { }); it('rejects object missing required fields', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -262,7 +279,7 @@ describe('validateThemeConfig', () => { }); it('accepts undefined askAi', () => { - const algolia = { + const algolia: Partial = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index 041959ad638a..5aa30b8796bf 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -23,7 +23,7 @@ declare module '@docusaurus/theme-search-algolia' { | 'askAi' >; - type ThemeConfigAlgolia = DocusaurusDocSearchProps & { + export type ThemeConfigAlgolia = DocusaurusDocSearchProps & { // Docusaurus custom options, not coming from DocSearch contextualSearch: boolean; externalUrlRegex?: string; @@ -34,7 +34,7 @@ declare module '@docusaurus/theme-search-algolia' { }; }; - export type ThemeConfig = DocusaurusDocSearchProps & { + export type ThemeConfig = { algolia: ThemeConfigAlgolia; }; diff --git a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts index 6c5ec629faca..634d3b2fdcdd 100644 --- a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts +++ b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts @@ -8,22 +8,22 @@ import {escapeRegexp} from '@docusaurus/utils'; import {Joi} from '@docusaurus/utils-validation'; import {version as docsearchVersion} from '@docsearch/react'; +import type {ThemeConfigValidationContext} from '@docusaurus/types'; import type { ThemeConfig, - ThemeConfigValidationContext, -} from '@docusaurus/types'; + ThemeConfigAlgolia, +} from '@docusaurus/theme-search-algolia'; export const DEFAULT_CONFIG = { // Enabled by default, as it makes sense in most cases // see also https://github.com/facebook/docusaurus/issues/5880 contextualSearch: true, - searchParameters: {}, searchPagePath: 'search', -}; +} satisfies Partial; export const Schema = Joi.object({ - algolia: Joi.object({ + algolia: Joi.object({ // Docusaurus attributes contextualSearch: Joi.boolean().default(DEFAULT_CONFIG.contextualSearch), externalUrlRegex: Joi.string().optional(), @@ -80,30 +80,25 @@ export const Schema = Joi.object({ export function validateThemeConfig({ validate, - themeConfig, + themeConfig: themeConfigInput, }: ThemeConfigValidationContext): ThemeConfig { - const validated = validate(Schema, themeConfig); + const themeConfig = validate(Schema, themeConfigInput); - // normalize AskAI: allow users to pass a simple assistant id string and - // convert it here to the full object shape using root algolia credentials - const algolia = (validated as any).algolia as { - indexName: string; - apiKey: string; - appId: string; - askAi?: unknown; - }; + if (!themeConfig.algolia) { + return themeConfig; + } - if (algolia && typeof algolia.askAi === 'string') { - algolia.askAi = { - indexName: algolia.indexName, - apiKey: algolia.apiKey, - appId: algolia.appId, - assistantId: algolia.askAi, - } as unknown; + if (typeof themeConfig.algolia.askAi === 'string') { + themeConfig.algolia.askAi = { + indexName: themeConfig.algolia.indexName, + apiKey: themeConfig.algolia.apiKey, + appId: themeConfig.algolia.appId, + assistantId: themeConfig.algolia.askAi, + }; } // enforce docsearch v4 requirement when AskAI is configured - if ((algolia as any)?.askAi && !docsearchVersion.startsWith('4.')) { + if (themeConfig.algolia.askAi && !docsearchVersion.startsWith('4.')) { throw new Error( 'The askAi feature is only supported in DocSearch v4. ' + 'Please upgrade to DocSearch v4 by installing "@docsearch/react": "^4.0.0" ' + @@ -111,5 +106,5 @@ export function validateThemeConfig({ ); } - return validated; + return themeConfig; } From 769413d706e94cbb048418bb1785db32f6dc3efd Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 13:17:54 +0200 Subject: [PATCH 13/53] improve config validation --- .../src/validateThemeConfig.ts | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts index 634d3b2fdcdd..b0950cfb3748 100644 --- a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts +++ b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts @@ -67,6 +67,18 @@ export const Schema = Joi.object({ assistantId: Joi.string().required(), }), ) + .custom((value: string | ThemeConfigAlgolia['askAi'], helpers) => { + if (typeof value === 'string') { + const algolia: ThemeConfigAlgolia = helpers.state.ancestors[0]; + return { + indexName: algolia.indexName, + apiKey: algolia.apiKey, + appId: algolia.appId, + assistantId: algolia.askAi, + }; + } + return value; + }) .optional() .messages({ 'alternatives.types': @@ -78,26 +90,8 @@ export const Schema = Joi.object({ .unknown(), }); -export function validateThemeConfig({ - validate, - themeConfig: themeConfigInput, -}: ThemeConfigValidationContext): ThemeConfig { - const themeConfig = validate(Schema, themeConfigInput); - - if (!themeConfig.algolia) { - return themeConfig; - } - - if (typeof themeConfig.algolia.askAi === 'string') { - themeConfig.algolia.askAi = { - indexName: themeConfig.algolia.indexName, - apiKey: themeConfig.algolia.apiKey, - appId: themeConfig.algolia.appId, - assistantId: themeConfig.algolia.askAi, - }; - } - - // enforce docsearch v4 requirement when AskAI is configured +function ensureAskAISupported(themeConfig: ThemeConfig) { + // enforce DocsSearch v4 requirement when AskAI is configured if (themeConfig.algolia.askAi && !docsearchVersion.startsWith('4.')) { throw new Error( 'The askAi feature is only supported in DocSearch v4. ' + @@ -105,6 +99,13 @@ export function validateThemeConfig({ 'or remove the askAi configuration from your theme config.', ); } +} +export function validateThemeConfig({ + validate, + themeConfig: themeConfigInput, +}: ThemeConfigValidationContext): ThemeConfig { + const themeConfig = validate(Schema, themeConfigInput); + ensureAskAISupported(themeConfig); return themeConfig; } From 8714e6830c18e53b38df75817721fc6daf899d5d Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 14:58:30 +0200 Subject: [PATCH 14/53] upgrade algolia packages --- .../package.json | 4 +- yarn.lock | 413 ++++++++---------- 2 files changed, 180 insertions(+), 237 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index 29b60537abbe..b69184087b03 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -41,8 +41,8 @@ "@docusaurus/theme-translations": "3.8.1", "@docusaurus/utils": "3.8.1", "@docusaurus/utils-validation": "3.8.1", - "algoliasearch": "^5.17.1", - "algoliasearch-helper": "^3.22.6", + "algoliasearch": "^5.37.0", + "algoliasearch-helper": "^3.26.0", "clsx": "^2.0.0", "eta": "^2.2.0", "fs-extra": "^11.1.1", diff --git a/yarn.lock b/yarn.lock index 8e8d4de12447..d6da6bf6d7c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,191 +2,163 @@ # yarn lockfile v1 -"@ai-sdk/provider-utils@2.2.8": - version "2.2.8" - resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz#ad11b92d5a1763ab34ba7b5fc42494bfe08b76d1" - integrity sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA== - dependencies: - "@ai-sdk/provider" "1.1.3" - nanoid "^3.3.8" - secure-json-parse "^2.7.0" - -"@ai-sdk/provider@1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-1.1.3.tgz#ebdda8077b8d2b3f290dcba32c45ad19b2704681" - integrity sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg== - dependencies: - json-schema "^0.4.0" - -"@ai-sdk/react@^1.2.12": - version "1.2.12" - resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-1.2.12.tgz#f4250b6df566b170af98a71d5708b52108dd0ce1" - integrity sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g== - dependencies: - "@ai-sdk/provider-utils" "2.2.8" - "@ai-sdk/ui-utils" "1.2.11" - swr "^2.2.5" - throttleit "2.1.0" - -"@ai-sdk/ui-utils@1.2.11": - version "1.2.11" - resolved "https://registry.yarnpkg.com/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz#4f815589d08d8fef7292ade54ee5db5d09652603" - integrity sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w== - dependencies: - "@ai-sdk/provider" "1.1.3" - "@ai-sdk/provider-utils" "2.2.8" - zod-to-json-schema "^3.24.1" - -"@algolia/abtesting@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.1.0.tgz#32c84876956727dcdca8df03c567f12fb39edf0d" - integrity sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow== - dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" - -"@algolia/autocomplete-core@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz#702df67a08cb3cfe8c33ee1111ef136ec1a9e232" - integrity sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.19.2" - "@algolia/autocomplete-shared" "1.19.2" - -"@algolia/autocomplete-plugin-algolia-insights@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz#3584b625b9317e333d1ae43664d02358e175c52d" - integrity sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg== - dependencies: - "@algolia/autocomplete-shared" "1.19.2" - -"@algolia/autocomplete-shared@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" - integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w== - -"@algolia/client-abtesting@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz#e4cb9ad90357c8b26fb6fbcd0157cc8bd1b600ed" - integrity sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ== - dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" - -"@algolia/client-analytics@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.35.0.tgz#ff0b9d9cbda074472d727a2d0a6b18bcc47076be" - integrity sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw== - dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" - -"@algolia/client-common@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.35.0.tgz#1d72b36308ceaa53d7d488cd3a161506ddeb0c42" - integrity sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w== - -"@algolia/client-insights@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.35.0.tgz#8fd51eead7d89925522d48b5c164b3d7b656707c" - integrity sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA== - dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" - -"@algolia/client-personalization@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.35.0.tgz#a661767851269b8ff091eaa900fe0b65b3937382" - integrity sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA== - dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" - -"@algolia/client-query-suggestions@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz#b8704f3cdb2b49b8f0348bb77a3821a5ffa5b73b" - integrity sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w== - dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" - -"@algolia/client-search@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.35.0.tgz#61441c4de212d8a1af93ab1406f46fd3386c35a0" - integrity sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg== - dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" +"@algolia/abtesting@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.3.0.tgz#3fade769bf5b03244baaee8034b83e2b49f8e86c" + integrity sha512-KqPVLdVNfoJzX5BKNGM9bsW8saHeyax8kmPFXul5gejrSPN3qss7PgsFH5mMem7oR8tvjvNkia97ljEYPYCN8Q== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/autocomplete-core@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" + integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-plugin-algolia-insights@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" + integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== + dependencies: + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-preset-algolia@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" + integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== + dependencies: + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-shared@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" + integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== + +"@algolia/client-abtesting@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.37.0.tgz#37df3674ccc37dfb0aa4cbfea42002bb136fb909" + integrity sha512-Dp2Zq+x9qQFnuiQhVe91EeaaPxWBhzwQ6QnznZQnH9C1/ei3dvtmAFfFeaTxM6FzfJXDLvVnaQagTYFTQz3R5g== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-analytics@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.37.0.tgz#6fb4d748e1af43d8bc9f955d73d98205ce1c1ee5" + integrity sha512-wyXODDOluKogTuZxRII6mtqhAq4+qUR3zIUJEKTiHLe8HMZFxfUEI4NO2qSu04noXZHbv/sRVdQQqzKh12SZuQ== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-common@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.37.0.tgz#f7ca097c4bae44e4ea365ee8f420693d0005c98e" + integrity sha512-GylIFlPvLy9OMgFG8JkonIagv3zF+Dx3H401Uo2KpmfMVBBJiGfAb9oYfXtplpRMZnZPxF5FnkWaI/NpVJMC+g== + +"@algolia/client-insights@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.37.0.tgz#f4f4011fc89bc0b2dfc384acc3c6fb38f633f4ec" + integrity sha512-T63afO2O69XHKw2+F7mfRoIbmXWGzgpZxgOFAdP3fR4laid7pWBt20P4eJ+Zn23wXS5kC9P2K7Bo3+rVjqnYiw== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-personalization@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.37.0.tgz#c1688db681623b189f353599815a118033ceebb5" + integrity sha512-1zOIXM98O9zD8bYDCJiUJRC/qNUydGHK/zRK+WbLXrW1SqLFRXECsKZa5KoG166+o5q5upk96qguOtE8FTXDWQ== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-query-suggestions@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.37.0.tgz#fa514df8d36fb548258c712f3ba6f97eb84ebb87" + integrity sha512-31Nr2xOLBCYVal+OMZn1rp1H4lPs1914Tfr3a34wU/nsWJ+TB3vWjfkUUuuYhWoWBEArwuRzt3YNLn0F/KRVkg== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-search@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.37.0.tgz#38c7110d96fbbbda7b7fb0578a18b8cad3c25af2" + integrity sha512-DAFVUvEg+u7jUs6BZiVz9zdaUebYULPiQ4LM2R4n8Nujzyj7BZzGr2DCd85ip4p/cx7nAZWKM8pLcGtkTRTdsg== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" "@algolia/events@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/ingestion@1.35.0": - version "1.35.0" - resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.35.0.tgz#fb263cc190da421756f8f52e3fe5e5afdc89f68c" - integrity sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA== +"@algolia/ingestion@1.37.0": + version "1.37.0" + resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.37.0.tgz#bb6016e656c68014050814abf130e103f977794e" + integrity sha512-pkCepBRRdcdd7dTLbFddnu886NyyxmhgqiRcHHaDunvX03Ij4WzvouWrQq7B7iYBjkMQrLS8wQqSP0REfA4W8g== dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" -"@algolia/monitoring@1.35.0": - version "1.35.0" - resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.35.0.tgz#6be2b3e2a48328b57d98827da9c85ec2b42d49da" - integrity sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw== +"@algolia/monitoring@1.37.0": + version "1.37.0" + resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.37.0.tgz#6d20c220d648db8faea45679350f1516917cc13d" + integrity sha512-fNw7pVdyZAAQQCJf1cc/ih4fwrRdQSgKwgor4gchsI/Q/ss9inmC6bl/69jvoRSzgZS9BX4elwHKdo0EfTli3w== dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" -"@algolia/recommend@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.35.0.tgz#03c3d1dbbd1b5b07dda98350b45640c819081211" - integrity sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ== +"@algolia/recommend@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.37.0.tgz#dd5e814f30bbb92395902e120fdb28a120b91341" + integrity sha512-U+FL5gzN2ldx3TYfQO5OAta2TBuIdabEdFwD5UVfWPsZE5nvOKkc/6BBqP54Z/adW/34c5ZrvvZhlhNTZujJXQ== dependencies: - "@algolia/client-common" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" -"@algolia/requester-browser-xhr@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz#b1c26fc9be80a0ddde6b2e45fb50d52c7c6c05f4" - integrity sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw== +"@algolia/requester-browser-xhr@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.37.0.tgz#8851ab846d8005055c36a59422161ebe1594ae48" + integrity sha512-Ao8GZo8WgWFABrU7iq+JAftXV0t+UcOtCDL4mzHHZ+rQeTTf1TZssr4d0vIuoqkVNnKt9iyZ7T4lQff4ydcTrw== dependencies: - "@algolia/client-common" "5.35.0" + "@algolia/client-common" "5.37.0" -"@algolia/requester-fetch@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz#29815c5bf501148ea619ed96bae09c099a5cced4" - integrity sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ== +"@algolia/requester-fetch@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.37.0.tgz#93602fdc9a59b41ecd53768c53c11cddb0db846a" + integrity sha512-H7OJOXrFg5dLcGJ22uxx8eiFId0aB9b0UBhoOi4SMSuDBe6vjJJ/LeZyY25zPaSvkXNBN3vAM+ad6M0h6ha3AA== dependencies: - "@algolia/client-common" "5.35.0" + "@algolia/client-common" "5.37.0" -"@algolia/requester-node-http@5.35.0": - version "5.35.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz#9095b80a0ae77f574036261f44053636e31d1baf" - integrity sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ== +"@algolia/requester-node-http@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.37.0.tgz#83da1b52f3ee86f262a5d4b2a88a74db665211c2" + integrity sha512-npZ9aeag4SGTx677eqPL3rkSPlQrnzx/8wNrl1P7GpWq9w/eTmRbOq+wKrJ2r78idlY0MMgmY/mld2tq6dc44g== dependencies: - "@algolia/client-common" "5.35.0" + "@algolia/client-common" "5.37.0" "@ampproject/remapping@^2.2.0": version "2.3.0" @@ -2078,21 +2050,20 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@4.0.0-beta.6": - version "4.0.0-beta.6" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.6.tgz#eac4594a7eb587ceb63393c2cc129a9b4e63e5b0" - integrity sha512-LmUwTbRnj6CJV8RW2FysHEm238X2sC2QjL1AKcKVdstuZ12r85o9PdOgNZgRMUCIgJuZteyMeBGBZo258DH70g== +"@docsearch/css@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" + integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== -"@docsearch/react@^4.0.0-beta.6": - version "4.0.0-beta.6" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.6.tgz#332768273a6774ca41ba5774e4ae316e2266b5da" - integrity sha512-JwodRuSobQSDAhlt621Rl8GDcwZKcWGRy+99gD07EwkUYO4PRZUFs8XDceDZflw/95+FGPpTAUVwCVqEpsMT6Q== +"@docsearch/react@^3.9.0 || ^4.0.0-beta.7 || ^4.0.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" + integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== dependencies: - "@ai-sdk/react" "^1.2.12" - "@algolia/autocomplete-core" "1.19.2" - "@docsearch/css" "4.0.0-beta.6" - algoliasearch "^5.28.0" - marked "^15.0.12" + "@algolia/autocomplete-core" "1.17.9" + "@algolia/autocomplete-preset-algolia" "1.17.9" + "@docsearch/css" "3.9.0" + algoliasearch "^5.14.2" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -5163,32 +5134,32 @@ ajv@^8.0.0, ajv@^8.0.1, ajv@^8.6.0, ajv@^8.9.0: json-schema-traverse "^1.0.0" require-from-string "^2.0.2" -algoliasearch-helper@^3.22.6: - version "3.22.6" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.22.6.tgz#6a31c67d277a32f3f7ae1b8a6e57ca73f1e1a0b0" - integrity sha512-F2gSb43QHyvZmvH/2hxIjbk/uFdO2MguQYTFP7J+RowMW1csjIODMobEnpLI8nbLQuzZnGZdIxl5Bpy1k9+CFQ== +algoliasearch-helper@^3.26.0: + version "3.26.0" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.26.0.tgz#d6e283396a9fc5bf944f365dc3b712570314363f" + integrity sha512-Rv2x3GXleQ3ygwhkhJubhhYGsICmShLAiqtUuJTUkr9uOCOXyF2E71LVT4XDnVffbknv8XgScP4U0Oxtgm+hIw== dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.17.1, algoliasearch@^5.28.0: - version "5.35.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.35.0.tgz#ce12d1d287d6f4a80b9998568f806c92dabba566" - integrity sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg== - dependencies: - "@algolia/abtesting" "1.1.0" - "@algolia/client-abtesting" "5.35.0" - "@algolia/client-analytics" "5.35.0" - "@algolia/client-common" "5.35.0" - "@algolia/client-insights" "5.35.0" - "@algolia/client-personalization" "5.35.0" - "@algolia/client-query-suggestions" "5.35.0" - "@algolia/client-search" "5.35.0" - "@algolia/ingestion" "1.35.0" - "@algolia/monitoring" "1.35.0" - "@algolia/recommend" "5.35.0" - "@algolia/requester-browser-xhr" "5.35.0" - "@algolia/requester-fetch" "5.35.0" - "@algolia/requester-node-http" "5.35.0" +algoliasearch@^5.14.2, algoliasearch@^5.37.0: + version "5.37.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.37.0.tgz#73dc4a09654e6e02b529300018d639706b95b47b" + integrity sha512-y7gau/ZOQDqoInTQp0IwTOjkrHc4Aq4R8JgpmCleFwiLl+PbN2DMWoDUWZnrK8AhNJwT++dn28Bt4NZYNLAmuA== + dependencies: + "@algolia/abtesting" "1.3.0" + "@algolia/client-abtesting" "5.37.0" + "@algolia/client-analytics" "5.37.0" + "@algolia/client-common" "5.37.0" + "@algolia/client-insights" "5.37.0" + "@algolia/client-personalization" "5.37.0" + "@algolia/client-query-suggestions" "5.37.0" + "@algolia/client-search" "5.37.0" + "@algolia/ingestion" "1.37.0" + "@algolia/monitoring" "1.37.0" + "@algolia/recommend" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" ansi-align@^3.0.1: version "3.0.1" @@ -7743,7 +7714,7 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -dequal@^2.0.0, dequal@^2.0.3: +dequal@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -12186,7 +12157,7 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== -marked@^15.0.12, marked@^15.0.7: +marked@^15.0.7: version "15.0.12" resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e" integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA== @@ -13288,7 +13259,7 @@ mz@^2.4.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11, nanoid@^3.3.8: +nanoid@^3.3.11: version "3.3.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== @@ -16332,11 +16303,6 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" -secure-json-parse@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" - integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -17370,14 +17336,6 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" -swr@^2.2.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/swr/-/swr-2.3.5.tgz#f83ceab400bc4901420e0bdae8879f96a22254b8" - integrity sha512-4e7pjTVulZTIL+b/S0RYFsgDcTcXPLUOvBPqyh9YdD+PkHeEMoaPwDmF9Kv6I1nnPg1OFKhiiEYpsYaaE2W2jA== - dependencies: - dequal "^2.0.3" - use-sync-external-store "^1.4.0" - symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -17547,11 +17505,6 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -throttleit@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-2.1.0.tgz#a7e4aa0bf4845a5bd10daa39ea0c783f631a07b4" - integrity sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw== - through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -18223,11 +18176,6 @@ use-editable@^2.3.3: resolved "https://registry.yarnpkg.com/use-editable/-/use-editable-2.3.3.tgz#a292fe9ba4c291cd28d1cc2728c75a5fc8d9a33f" integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA== -use-sync-external-store@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" - integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -19120,11 +19068,6 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== -zod-to-json-schema@^3.24.1: - version "3.24.6" - resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz#5920f020c4d2647edfbb954fa036082b92c9e12d" - integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg== - zod-validation-error@^3.0.3: version "3.4.0" resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" From 8bf35813a7dd96c8b3e273668d166cdcb2e36367 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 15:19:03 +0200 Subject: [PATCH 15/53] restore AskAI feature until PR ready --- package.json | 3 + website/docusaurus.config.ts | 10 +++ yarn.lock | 133 +++++++++++++++++++++++++---------- 3 files changed, 108 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index 0e9d63abf99c..e3320a9547d8 100644 --- a/package.json +++ b/package.json @@ -129,5 +129,8 @@ "stylelint-config-standard": "^29.0.0", "typescript": "~5.8.2" }, + "resolutions": { + "@docsearch/react": "^4.0.0-beta.8" + }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 7ed001e3e056..8bd3812eb537 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -655,6 +655,16 @@ export default async function createConfigAsync() { appId: 'X1Z85QJPUV', apiKey: 'bf7211c161e8205da2f933a02534105a', indexName: 'docusaurus-2', + + // TODO temporary, for DocSearch v3/v4 conditional Ask AI integration + // see https://github.com/facebook/docusaurus/pull/11327 + // eslint-disable-next-line @typescript-eslint/no-var-requires,global-require + ...(require('@docsearch/react').version.startsWith('4.') + ? { + askAi: 'RgIMYFUmTfrN', + } + : {}), + replaceSearchResultPathname: isDev || isDeployPreview ? { diff --git a/yarn.lock b/yarn.lock index d6da6bf6d7c2..d3401be5f55b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,41 @@ # yarn lockfile v1 +"@ai-sdk/provider-utils@2.2.8": + version "2.2.8" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz#ad11b92d5a1763ab34ba7b5fc42494bfe08b76d1" + integrity sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA== + dependencies: + "@ai-sdk/provider" "1.1.3" + nanoid "^3.3.8" + secure-json-parse "^2.7.0" + +"@ai-sdk/provider@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-1.1.3.tgz#ebdda8077b8d2b3f290dcba32c45ad19b2704681" + integrity sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg== + dependencies: + json-schema "^0.4.0" + +"@ai-sdk/react@^1.2.12": + version "1.2.12" + resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-1.2.12.tgz#f4250b6df566b170af98a71d5708b52108dd0ce1" + integrity sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g== + dependencies: + "@ai-sdk/provider-utils" "2.2.8" + "@ai-sdk/ui-utils" "1.2.11" + swr "^2.2.5" + throttleit "2.1.0" + +"@ai-sdk/ui-utils@1.2.11": + version "1.2.11" + resolved "https://registry.yarnpkg.com/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz#4f815589d08d8fef7292ade54ee5db5d09652603" + integrity sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w== + dependencies: + "@ai-sdk/provider" "1.1.3" + "@ai-sdk/provider-utils" "2.2.8" + zod-to-json-schema "^3.24.1" + "@algolia/abtesting@1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.3.0.tgz#3fade769bf5b03244baaee8034b83e2b49f8e86c" @@ -12,32 +47,25 @@ "@algolia/requester-fetch" "5.37.0" "@algolia/requester-node-http" "5.37.0" -"@algolia/autocomplete-core@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" - integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" - "@algolia/autocomplete-shared" "1.17.9" - -"@algolia/autocomplete-plugin-algolia-insights@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" - integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== +"@algolia/autocomplete-core@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz#702df67a08cb3cfe8c33ee1111ef136ec1a9e232" + integrity sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw== dependencies: - "@algolia/autocomplete-shared" "1.17.9" + "@algolia/autocomplete-plugin-algolia-insights" "1.19.2" + "@algolia/autocomplete-shared" "1.19.2" -"@algolia/autocomplete-preset-algolia@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" - integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== +"@algolia/autocomplete-plugin-algolia-insights@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz#3584b625b9317e333d1ae43664d02358e175c52d" + integrity sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg== dependencies: - "@algolia/autocomplete-shared" "1.17.9" + "@algolia/autocomplete-shared" "1.19.2" -"@algolia/autocomplete-shared@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" - integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== +"@algolia/autocomplete-shared@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" + integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w== "@algolia/client-abtesting@5.37.0": version "5.37.0" @@ -2050,20 +2078,21 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" - integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== +"@docsearch/css@4.0.0-beta.8": + version "4.0.0-beta.8" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.8.tgz#836ac7c3eeecf87cfc9c518210f4dfd27e49b05f" + integrity sha512-/ZlyvZCjIJM4aaOYoJpVNHPJckX7J5KIbt6IWjnZXvo0QAUI1aH976vKEJUC9olgUbE3LWafB8yuX4qoqahIQg== -"@docsearch/react@^3.9.0 || ^4.0.0-beta.7 || ^4.0.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" - integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== +"@docsearch/react@^3.9.0 || ^4.0.0-beta.7 || ^4.0.0", "@docsearch/react@^4.0.0-beta.8": + version "4.0.0-beta.8" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.8.tgz#b3d75b42cf2b1b696317930d7b255c098df266ca" + integrity sha512-2gbk3SHUOKXDw0SfnblIpV3Z5pp4nANFg0oUB3kuheOfv5Wau0ZssIOAjEBTKmEzP5tO0Gljh5NL6t4SrXIhBg== dependencies: - "@algolia/autocomplete-core" "1.17.9" - "@algolia/autocomplete-preset-algolia" "1.17.9" - "@docsearch/css" "3.9.0" - algoliasearch "^5.14.2" + "@ai-sdk/react" "^1.2.12" + "@algolia/autocomplete-core" "1.19.2" + "@docsearch/css" "4.0.0-beta.8" + algoliasearch "^5.28.0" + marked "^15.0.12" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -5141,7 +5170,7 @@ algoliasearch-helper@^3.26.0: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.14.2, algoliasearch@^5.37.0: +algoliasearch@^5.28.0, algoliasearch@^5.37.0: version "5.37.0" resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.37.0.tgz#73dc4a09654e6e02b529300018d639706b95b47b" integrity sha512-y7gau/ZOQDqoInTQp0IwTOjkrHc4Aq4R8JgpmCleFwiLl+PbN2DMWoDUWZnrK8AhNJwT++dn28Bt4NZYNLAmuA== @@ -7714,7 +7743,7 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -dequal@^2.0.0: +dequal@^2.0.0, dequal@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -12157,7 +12186,7 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== -marked@^15.0.7: +marked@^15.0.12, marked@^15.0.7: version "15.0.12" resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e" integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA== @@ -13259,7 +13288,7 @@ mz@^2.4.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11: +nanoid@^3.3.11, nanoid@^3.3.8: version "3.3.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== @@ -16303,6 +16332,11 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" +secure-json-parse@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" + integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -17336,6 +17370,14 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" +swr@^2.2.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/swr/-/swr-2.3.6.tgz#5fee0ee8a0762a16871ee371075cb09422b64f50" + integrity sha512-wfHRmHWk/isGNMwlLGlZX5Gzz/uTgo0o2IRuTMcf4CPuPFJZlq0rDaKUx+ozB5nBOReNV1kiOyzMfj+MBMikLw== + dependencies: + dequal "^2.0.3" + use-sync-external-store "^1.4.0" + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -17505,6 +17547,11 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" +throttleit@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-2.1.0.tgz#a7e4aa0bf4845a5bd10daa39ea0c783f631a07b4" + integrity sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw== + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -18176,6 +18223,11 @@ use-editable@^2.3.3: resolved "https://registry.yarnpkg.com/use-editable/-/use-editable-2.3.3.tgz#a292fe9ba4c291cd28d1cc2728c75a5fc8d9a33f" integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA== +use-sync-external-store@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" + integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -19068,6 +19120,11 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== +zod-to-json-schema@^3.24.1: + version "3.24.6" + resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz#5920f020c4d2647edfbb954fa036082b92c9e12d" + integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg== + zod-validation-error@^3.0.3: version "3.4.0" resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" From 1e9a89572e504f53abad0f0ca741d82f42cb71a8 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 15:43:25 +0200 Subject: [PATCH 16/53] docs --- website/docs/search.mdx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/website/docs/search.mdx b/website/docs/search.mdx index 0320b812cf6e..79c065275a58 100644 --- a/website/docs/search.mdx +++ b/website/docs/search.mdx @@ -242,6 +242,7 @@ export default { askAi: 'YOUR_ALGOLIA_ASK_AI_ASSISTANT_ID', // highlight-end + // highlight-start // OR with custom parameters askAi: { assistantId: 'YOUR_ALGOLIA_ASK_AI_ASSISTANT_ID', @@ -249,6 +250,9 @@ export default { apiKey: 'YOUR_ALGOLIA_API_KEY', appId: 'YOUR_ALGOLIA_APP_ID', }, + // highlight-end + + //... other Algolia params }, }, }; From 5f4ef65ada7957efd728c79456b3213d770cc23f Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 15:45:43 +0200 Subject: [PATCH 17/53] docs --- website/docs/search.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/search.mdx b/website/docs/search.mdx index 79c065275a58..eb7a1306443f 100644 --- a/website/docs/search.mdx +++ b/website/docs/search.mdx @@ -230,7 +230,7 @@ Ask AI brings the power of AI to your documentation: - **Recently asked & conversation history:** Easily revisit your recent questions and jump back into previous Ask AI conversations. - **Seamless integration:** Ask AI is available directly from the search modal. -To enable it, you need to add the `askAi` field to your `algolia` field in the `docusaurus.config.js` file. +To enable it, add an `askAi` field in your `algolia` config: ```js title="docusaurus.config.js" export default { @@ -260,7 +260,7 @@ export default { :::info -To use Ask AI, you need to have an Algolia index with the Ask AI assistant enabled. Learn more about how to [setup Ask AI](https://docsearch.algolia.com/docs/v4/askai). +To use Ask AI, you need to have an Algolia index with the Ask AI assistant enabled. Learn more about [how to setup Ask AI](https://docsearch.algolia.com/docs/v4/askai). ::: From fd71b7a1544d7e4e97705cf6abbd87c59328328e Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 16:03:16 +0200 Subject: [PATCH 18/53] remove useless optional types for translations --- .../src/theme/SearchTranslations/index.ts | 86 +++++++++---------- 1 file changed, 41 insertions(+), 45 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts index b3fd921085df..da0380a7b08c 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts @@ -10,53 +10,51 @@ import {translate} from '@docusaurus/Translate'; import type {DocSearchTranslations} from '@docsearch/react'; const translations: DocSearchTranslations & { - modal?: { - searchBox?: { - placeholderText?: string; - placeholderTextAskAi?: string; - placeholderTextAskAiStreaming?: string; - enterKeyHintAskAi?: string; - searchInputLabel?: string; - backToKeywordSearchButtonText?: string; - backToKeywordSearchButtonAriaLabel?: string; - enterKeyHint?: string; - clearButtonTitle?: string; - clearButtonAriaLabel?: string; - closeButtonText?: string; - resetButtonTitle?: string; - resetButtonAriaLabel?: string; - cancelButtonText?: string; - cancelButtonAriaLabel?: string; - closeButtonAriaLabel?: string; + modal: { + searchBox: { + placeholderText: string; + placeholderTextAskAi: string; + placeholderTextAskAiStreaming: string; + enterKeyHintAskAi: string; + searchInputLabel: string; + backToKeywordSearchButtonText: string; + backToKeywordSearchButtonAriaLabel: string; + enterKeyHint: string; + clearButtonTitle: string; + clearButtonAriaLabel: string; + closeButtonText: string; + resetButtonTitle: string; + resetButtonAriaLabel: string; + cancelButtonText: string; + cancelButtonAriaLabel: string; + closeButtonAriaLabel: string; }; - startScreen?: { - recentConversationsTitle?: string; - removeRecentConversationButtonTitle?: string; + startScreen: { + recentConversationsTitle: string; + removeRecentConversationButtonTitle: string; }; - resultsScreen?: { - askAiPlaceholder?: string; + resultsScreen: { + askAiPlaceholder: string; }; - askAiScreen?: { - disclaimerText?: string; - relatedSourcesText?: string; - thinkingText?: string; - copyButtonText?: string; - copyButtonCopiedText?: string; - copyButtonTitle?: string; - likeButtonTitle?: string; - dislikeButtonTitle?: string; - thanksForFeedbackText?: string; - preToolCallText?: string; - duringToolCallText?: string; - afterToolCallText?: string; - aggregatedToolCallNode?: string; - aggregatedToolCallText?: string; + askAiScreen: { + disclaimerText: string; + relatedSourcesText: string; + thinkingText: string; + copyButtonText: string; + copyButtonCopiedText: string; + copyButtonTitle: string; + likeButtonTitle: string; + dislikeButtonTitle: string; + thanksForFeedbackText: string; + preToolCallText: string; + duringToolCallText: string; + afterToolCallText: string; }; - footer?: { - submitQuestionText?: string; - poweredByText?: string; - backToSearchText?: string; - searchByText?: string; + footer: { + submitQuestionText: string; + poweredByText: string; + backToSearchText: string; + searchByText: string; }; }; } = { @@ -295,8 +293,6 @@ const translations: DocSearchTranslations & { message: 'Searched for', description: 'The text after tool call', }), - aggregatedToolCallNode: undefined, - aggregatedToolCallText: undefined, }, footer: { selectText: translate({ From ec4c09a803f6919cfc238f3154c37e5f575cb2e1 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 17:41:25 +0200 Subject: [PATCH 19/53] restore former translation key order to easy code review --- .../src/theme/SearchTranslations/index.ts | 50 +++++++++++-------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts index da0380a7b08c..bd3b77f10da5 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts @@ -10,6 +10,7 @@ import {translate} from '@docusaurus/Translate'; import type {DocSearchTranslations} from '@docsearch/react'; const translations: DocSearchTranslations & { + placeholder: string; modal: { searchBox: { placeholderText: string; @@ -202,28 +203,6 @@ const translations: DocSearchTranslations & { description: 'The help text for error screen', }), }, - noResultsScreen: { - noResultsText: translate({ - id: 'theme.SearchModal.noResultsScreen.noResultsText', - message: 'No results found for', - description: 'The text when there are no results', - }), - suggestedQueryText: translate({ - id: 'theme.SearchModal.noResultsScreen.suggestedQueryText', - message: 'Try searching for', - description: 'The text for suggested query', - }), - reportMissingResultsText: translate({ - id: 'theme.SearchModal.noResultsScreen.reportMissingResultsText', - message: 'Believe this query should return results?', - description: 'The text for reporting missing results', - }), - reportMissingResultsLinkText: translate({ - id: 'theme.SearchModal.noResultsScreen.reportMissingResultsLinkText', - message: 'Let us know.', - description: 'The link text for reporting missing results', - }), - }, resultsScreen: { askAiPlaceholder: translate({ id: 'theme.SearchModal.resultsScreen.askAiPlaceholder', @@ -351,7 +330,34 @@ const translations: DocSearchTranslations & { description: 'The back to search text for footer', }), }, + noResultsScreen: { + noResultsText: translate({ + id: 'theme.SearchModal.noResultsScreen.noResultsText', + message: 'No results found for', + description: 'The text when there are no results', + }), + suggestedQueryText: translate({ + id: 'theme.SearchModal.noResultsScreen.suggestedQueryText', + message: 'Try searching for', + description: 'The text for suggested query', + }), + reportMissingResultsText: translate({ + id: 'theme.SearchModal.noResultsScreen.reportMissingResultsText', + message: 'Believe this query should return results?', + description: 'The text for reporting missing results', + }), + reportMissingResultsLinkText: translate({ + id: 'theme.SearchModal.noResultsScreen.reportMissingResultsLinkText', + message: 'Let us know.', + description: 'The link text for reporting missing results', + }), + }, }, + placeholder: translate({ + id: 'theme.SearchModal.placeholder', + message: 'Search docs', + description: 'The placeholder of the input of the DocSearch pop-up modal', + }), }; export default translations; From b0d6b1036d9d7b18180162ab3e1822dfdb6d032b Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 17:45:14 +0200 Subject: [PATCH 20/53] add useful v4 upgrade TODO --- .../src/theme/SearchTranslations/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts index bd3b77f10da5..a78e394febaa 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts @@ -9,6 +9,12 @@ import {translate} from '@docusaurus/Translate'; import type {DocSearchTranslations} from '@docsearch/react'; +// TODO Docusaurus v4: require DocSearch v4 +// This needs to be cleaned after the upgrade +// Docusaurus v3 was made compatible with both DocSearch v3 and v4 +// This implies that labels have been kept retro-compatible with v3 +// Once we upgrade, we should be able to rely on v4 types only +// and remove v3 retro-compatibility labels that do not exist anymore in v4 const translations: DocSearchTranslations & { placeholder: string; modal: { From ae20d655760697ae679c43bb431730ab7cc0d8bf Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 17:50:54 +0200 Subject: [PATCH 21/53] add missing translations + upgrade base locale file --- .../src/theme/SearchTranslations/index.ts | 16 ++++++++++++---- .../locales/base/theme-search-algolia.json | 7 +++++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts index a78e394febaa..d0bf1b2b8c0c 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts @@ -137,8 +137,16 @@ const translations: DocSearchTranslations & { description: 'The placeholder text for search box when AI is streaming an answer', }), - enterKeyHint: 'search', - enterKeyHintAskAi: 'enter', + enterKeyHint: translate({ + id: 'theme.SearchModal.searchBox.enterKeyHint', + message: 'search', + description: 'The hint for the search box enter key text', + }), + enterKeyHintAskAi: translate({ + id: 'theme.SearchModal.searchBox.enterKeyHintAskAi', + message: 'enter', + description: 'The hint for the Ask AI search box enter key text', + }), searchInputLabel: translate({ id: 'theme.SearchModal.searchBox.searchInputLabel', message: 'Search', @@ -323,12 +331,12 @@ const translations: DocSearchTranslations & { poweredByText: translate({ id: 'theme.SearchModal.footer.searchByText', message: 'Powered by', - description: 'The search by text for footer', + description: "The 'Powered by' text for footer", }), searchByText: translate({ id: 'theme.SearchModal.footer.searchByText', message: 'Powered by', - description: 'The search by text for footer', + description: "The 'Powered by' text for footer", }), backToSearchText: translate({ id: 'theme.SearchModal.footer.backToSearchText', diff --git a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json index 42c3eb5c87f6..afa916b46308 100644 --- a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json @@ -43,7 +43,7 @@ "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", "theme.SearchModal.footer.navigateUpKeyAriaLabel___DESCRIPTION": "The ARIA label for navigate up key in footer", "theme.SearchModal.footer.searchByText": "Powered by", - "theme.SearchModal.footer.searchByText___DESCRIPTION": "The Powered by text for footer", + "theme.SearchModal.footer.searchByText___DESCRIPTION": "The 'Powered by' text for footer", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectKeyAriaLabel___DESCRIPTION": "The ARIA label for select key in footer", "theme.SearchModal.footer.selectText": "Select", @@ -59,8 +59,9 @@ "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.noResultsScreen.suggestedQueryText___DESCRIPTION": "The text for suggested query", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.placeholder___DESCRIPTION": "The placeholder of the input of the DocSearch pop-up modal", "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", - "theme.SearchModal.resultsScreen.askAiPlaceholder___DESCRIPTION": "The placeholder text for ask AI input", + "theme.SearchModal.resultsScreen.askAiPlaceholder___DESCRIPTION": "The placeholder text for Ask AI input", "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel___DESCRIPTION": "The ARIA label for back to keyword search button", "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", @@ -68,7 +69,9 @@ "theme.SearchModal.searchBox.cancelButtonText": "Cancel", "theme.SearchModal.searchBox.cancelButtonText___DESCRIPTION": "The label and ARIA label for search box cancel button", "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHint___DESCRIPTION": "The hint for the search box enter key text", "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.enterKeyHintAskAi___DESCRIPTION": "The hint for the Ask AI search box enter key text", "theme.SearchModal.searchBox.placeholderText": "Search docs", "theme.SearchModal.searchBox.placeholderText___DESCRIPTION": "The placeholder text for the main search input field", "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", From f2f6c0732cc3c5a61b5622f39b795e1ab83a7b5a Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 17:57:59 +0200 Subject: [PATCH 22/53] lint fix --- website/docusaurus.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 8bd3812eb537..2f96f7ff3945 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -661,6 +661,7 @@ export default async function createConfigAsync() { // eslint-disable-next-line @typescript-eslint/no-var-requires,global-require ...(require('@docsearch/react').version.startsWith('4.') ? { + // cSpell:ignore IMYF askAi: 'RgIMYFUmTfrN', } : {}), From d8278056abda00286e86fca5a1cd4856635b891b Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 18:58:57 +0200 Subject: [PATCH 23/53] simplify code and types --- .../src/client/useAlgoliaAskAi.ts | 78 ++++++------------ .../src/theme-search-algolia.d.ts | 80 ++++--------------- .../src/theme/SearchBar/index.tsx | 11 +-- .../src/validateThemeConfig.ts | 2 +- 4 files changed, 47 insertions(+), 124 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts index b6d668330654..e26ad58e0b89 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts @@ -12,20 +12,11 @@ import { type DocSearchTranslations, } from '@docsearch/react'; import translations from '@theme/SearchTranslations'; -import type {FacetFilters} from 'algoliasearch/lite'; +import type {ThemeConfigAlgolia} from '@docusaurus/theme-search-algolia'; -// v4 specific types -type AskAiConfig = { - indexName: string; - apiKey: string; - appId: string; - assistantId: string; - searchParameters?: { - facetFilters: FacetFilters; - }; -}; +type AskAiConfig = NonNullable; -// minimal props the hook needs from docsearch v4 props +// The minimal props the hook needs from DocSearch v4 props interface DocSearchV4PropsLite { indexName: string; apiKey: string; @@ -33,15 +24,12 @@ interface DocSearchV4PropsLite { placeholder?: string; translations?: DocSearchTranslations; searchParameters?: DocSearchModalProps['searchParameters']; - askAi?: string | AskAiConfig; + askAi?: AskAiConfig; } const isV4 = docsearchVersion.startsWith('4.'); -export function useAlgoliaAskAi( - props: DocSearchV4PropsLite, - searchParameters: DocSearchModalProps['searchParameters'], -): { +type UseAskAiResult = { canHandleAskAi: boolean; isAskAiActive: boolean; currentPlaceholder: string | undefined; @@ -53,25 +41,24 @@ export function useAlgoliaAskAi( isAskAiActive?: boolean; onAskAiToggle?: (active: boolean) => void; }; -} { +}; + +export function useAlgoliaAskAi( + props: DocSearchV4PropsLite, + searchParameters: DocSearchModalProps['searchParameters'], +): UseAskAiResult { const [isAskAiActive, setIsAskAiActive] = useState(false); const askAiProp = props.askAi as DocSearchV4PropsLite['askAi']; - // validate AskAI compatibility with docsearch version - if (askAiProp && !isV4) { - throw new Error( - 'The askAi feature is only supported in DocSearch v4. ' + - 'Please upgrade to DocSearch v4 by installing "@docsearch/react": "^4.0.0" ' + - 'or remove the askAi configuration from your theme config.', - ); - } - const canHandleAskAi = Boolean(props?.askAi); let currentPlaceholder = - ((translations.modal as unknown as {searchBox?: {placeholderText?: string}}) - ?.searchBox?.placeholderText as string | undefined) || props?.placeholder; + (( + translations.modal as unknown as { + searchBox?: {placeholderText?: string}; + } + )?.searchBox?.placeholderText as string | undefined) || props?.placeholder; if (isAskAiActive && isV4) { currentPlaceholder = ( @@ -85,37 +72,24 @@ export function useAlgoliaAskAi( setIsAskAiActive(askAiToggle); }, []); - const isAskAiPropAssistantId = typeof askAiProp === 'string'; - - const askAi = useMemo(() => { + // TODO handle this in Joy schema? + const askAi: AskAiConfig | undefined = useMemo(() => { if (!askAiProp) { return undefined; } return { - indexName: isAskAiPropAssistantId ? props.indexName : askAiProp.indexName, - apiKey: isAskAiPropAssistantId ? props.apiKey : askAiProp.apiKey, - appId: isAskAiPropAssistantId ? props.appId : askAiProp.appId, - assistantId: isAskAiPropAssistantId ? askAiProp : askAiProp.assistantId, + indexName: askAiProp.indexName, + apiKey: askAiProp.apiKey, + appId: askAiProp.appId, + assistantId: askAiProp.assistantId, searchParameters: searchParameters?.facetFilters ? {facetFilters: searchParameters.facetFilters} : undefined, - } as AskAiConfig; - }, [ - askAiProp, - isAskAiPropAssistantId, - props.indexName, - props.apiKey, - props.appId, - searchParameters, - ]); + }; + }, [askAiProp, searchParameters]); - const extraAskAiProps: Partial & { - askAi?: AskAiConfig; - canHandleAskAi?: boolean; - isAskAiActive?: boolean; - onAskAiToggle?: (active: boolean) => void; - } = { + const extraAskAiProps: UseAskAiResult['extraAskAiProps'] = { askAi, canHandleAskAi, isAskAiActive, @@ -129,5 +103,5 @@ export function useAlgoliaAskAi( onAskAiToggle, askAi, extraAskAiProps, - } as const; + }; } diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index 5aa30b8796bf..e3107ecd0b05 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -8,6 +8,18 @@ declare module '@docusaurus/theme-search-algolia' { import type {DeepPartial} from 'utility-types'; import type {DocSearchProps} from '@docsearch/react'; + import type {FacetFilters} from 'algoliasearch/lite'; + + // The config after normalization (e.g. AskAI string -> object) + type AskAiConfig = { + indexName: string; + apiKey: string; + appId: string; + assistantId: string; + searchParameters?: { + facetFilters: FacetFilters; + }; + }; // DocSearch props that Docusaurus exposes directly through props forwarding type DocusaurusDocSearchProps = Pick< @@ -20,8 +32,10 @@ declare module '@docusaurus/theme-search-algolia' { | 'searchParameters' | 'insights' | 'initialQuery' - | 'askAi' - >; + > & { + // Docusaurus normalizes the AskAI config to an object + askAi?: AskAiConfig; + }; export type ThemeConfigAlgolia = DocusaurusDocSearchProps & { // Docusaurus custom options, not coming from DocSearch @@ -41,68 +55,6 @@ declare module '@docusaurus/theme-search-algolia' { export type UserThemeConfig = DeepPartial; } -declare module '@docusaurus/theme-search-algolia/client' { - import type {ThemeConfig} from '@docusaurus/theme-search-algolia'; - - export function useAlgoliaThemeConfig(): ThemeConfig; - - export function useAlgoliaContextualFacetFilters(): [string, string[]]; - - export function useSearchResultUrlProcessor(): (url: string) => string; - - // v4 ask ai helper - export function useAlgoliaAskAi( - props: { - indexName: string; - apiKey: string; - appId: string; - placeholder?: string; - translations?: import('@docsearch/react').DocSearchTranslations; - searchParameters?: import('@docsearch/react').DocSearchModalProps['searchParameters']; - askAi?: - | string - | { - indexName: string; - apiKey: string; - appId: string; - assistantId: string; - searchParameters?: { - facetFilters: import('algoliasearch/lite').FacetFilters; - }; - }; - }, - searchParameters: import('@docsearch/react').DocSearchModalProps['searchParameters'], - ): { - canHandleAskAi: boolean; - isAskAiActive: boolean; - currentPlaceholder: string | undefined; - onAskAiToggle: (active: boolean) => void; - askAi?: { - indexName: string; - apiKey: string; - appId: string; - assistantId: string; - searchParameters?: { - facetFilters: import('algoliasearch/lite').FacetFilters; - }; - }; - extraAskAiProps: Partial & { - askAi?: { - indexName: string; - apiKey: string; - appId: string; - assistantId: string; - searchParameters?: { - facetFilters: import('algoliasearch/lite').FacetFilters; - }; - }; - canHandleAskAi?: boolean; - isAskAiActive?: boolean; - onAskAiToggle?: (active: boolean) => void; - }; - }; -} - declare module '@theme/SearchPage' { import type {ReactNode} from 'react'; diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index e2539b9a5c38..20ddd8984ac5 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -41,6 +41,7 @@ import type { import type {AutocompleteState} from '@algolia/autocomplete-core'; import type {FacetFilters} from 'algoliasearch/lite'; +import type {ThemeConfigAlgolia} from '@docusaurus/theme-search-algolia'; type DocSearchProps = Omit< DocSearchModalProps, @@ -49,12 +50,12 @@ type DocSearchProps = Omit< contextualSearch?: string; externalUrlRegex?: string; searchPagePath: boolean | string; + askAi?: Exclude; }; // extend DocSearchProps for v4 features interface DocSearchV4Props extends DocSearchProps { - // todo(v4): remove any when we default to v4 - askAi?: any; + askAi?: ThemeConfigAlgolia['askAi']; translations?: DocSearchTranslations; } @@ -211,11 +212,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { ); const {isAskAiActive, currentPlaceholder, onAskAiToggle, extraAskAiProps} = - useAlgoliaAskAi( - // todo(v4): remove any when we default to v4 - props as any, - searchParameters, - ); + useAlgoliaAskAi(props, searchParameters); const prepareSearchContainer = useCallback(() => { if (!searchContainer.current) { diff --git a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts index b0950cfb3748..ce910083867d 100644 --- a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts +++ b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts @@ -71,10 +71,10 @@ export const Schema = Joi.object({ if (typeof value === 'string') { const algolia: ThemeConfigAlgolia = helpers.state.ancestors[0]; return { + assistantId: value, indexName: algolia.indexName, apiKey: algolia.apiKey, appId: algolia.appId, - assistantId: algolia.askAi, }; } return value; From 75520281f522b982b04b9e44e9fe2126962549df Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 19:22:08 +0200 Subject: [PATCH 24/53] improve config validation + add proper input type --- .../src/__tests__/validateThemeConfig.test.ts | 85 ++++++++++--------- .../src/theme-search-algolia.d.ts | 12 ++- .../src/validateThemeConfig.ts | 11 ++- 3 files changed, 66 insertions(+), 42 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts index 9ee2db5edece..aef4024891a1 100644 --- a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts +++ b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts @@ -5,16 +5,19 @@ * LICENSE file in the root directory of this source tree. */ -// mock docsearch to a v4 version to allow AskAI tests to pass import {DEFAULT_CONFIG, validateThemeConfig} from '../validateThemeConfig'; import type {Joi} from '@docusaurus/utils-validation'; -import type {ThemeConfigAlgolia} from '@docusaurus/theme-search-algolia'; +import type { + ThemeConfig, + UserThemeConfig, +} from '@docusaurus/theme-search-algolia'; +// mock DocSearch to a v4 version to allow AskAI tests to pass jest.mock('@docsearch/react', () => ({version: '4.0.0'})); -function testValidateThemeConfig(themeConfig: { - algolia?: Partial; -}) { +type AlgoliaInput = UserThemeConfig['algolia']; + +function testValidateThemeConfig(algolia: AlgoliaInput) { function validate( schema: Joi.ObjectSchema<{[key: string]: unknown}>, cfg: {[key: string]: unknown}, @@ -29,19 +32,19 @@ function testValidateThemeConfig(themeConfig: { } return validateThemeConfig({ - themeConfig: themeConfig as {algolia: ThemeConfigAlgolia}, + themeConfig: (algolia ? {algolia} : {}) as ThemeConfig, validate, }); } describe('validateThemeConfig', () => { it('minimal config', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { indexName: 'index', apiKey: 'apiKey', appId: 'BH4D9OD16A', }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -50,14 +53,14 @@ describe('validateThemeConfig', () => { }); it('unknown attributes', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { indexName: 'index', apiKey: 'apiKey', // @ts-expect-error: expected type error! unknownKey: 'unknownKey', appId: 'BH4D9OD16A', }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -68,56 +71,58 @@ describe('validateThemeConfig', () => { it('undefined config', () => { const algolia = undefined; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot(`""themeConfig.algolia" is required"`); }); - it('undefined config 2', () => { + it('empty config', () => { expect(() => testValidateThemeConfig({}), - ).toThrowErrorMatchingInlineSnapshot(`""themeConfig.algolia" is required"`); + ).toThrowErrorMatchingInlineSnapshot( + `""algolia.appId" is required. If you haven't migrated to the new DocSearch infra, please refer to the blog post for instructions: https://docusaurus.io/blog/2021/11/21/algolia-docsearch-migration"`, + ); }); it('missing indexName config', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { apiKey: 'apiKey', appId: 'BH4D9OD16A', }; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot(`""algolia.indexName" is required"`); }); it('missing apiKey config', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { indexName: 'indexName', appId: 'BH4D9OD16A', }; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot(`""algolia.apiKey" is required"`); }); it('missing appId config', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { indexName: 'indexName', apiKey: 'apiKey', }; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot( `""algolia.appId" is required. If you haven't migrated to the new DocSearch infra, please refer to the blog post for instructions: https://docusaurus.io/blog/2021/11/21/algolia-docsearch-migration"`, ); }); it('contextualSearch config', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', contextualSearch: true, }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -126,13 +131,13 @@ describe('validateThemeConfig', () => { }); it('externalUrlRegex config', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', externalUrlRegex: 'http://external-domain.com', }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -142,7 +147,7 @@ describe('validateThemeConfig', () => { describe('replaceSearchResultPathname', () => { it('escapes from string', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -151,7 +156,7 @@ describe('validateThemeConfig', () => { to: '/abc', }, }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -164,7 +169,7 @@ describe('validateThemeConfig', () => { }); it('converts from regexp to string', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -175,7 +180,7 @@ describe('validateThemeConfig', () => { }, }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -189,7 +194,7 @@ describe('validateThemeConfig', () => { }); it('searchParameters.facetFilters search config', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -197,7 +202,7 @@ describe('validateThemeConfig', () => { facetFilters: ['version:1.0'], }, }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -207,13 +212,13 @@ describe('validateThemeConfig', () => { describe('askAi config validation', () => { it('accepts string format (assistantId)', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', askAi: 'my-assistant-id', }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -228,7 +233,7 @@ describe('validateThemeConfig', () => { }); it('accepts full object format', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -239,7 +244,7 @@ describe('validateThemeConfig', () => { assistantId: 'my-assistant-id', }, }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -248,43 +253,45 @@ describe('validateThemeConfig', () => { }); it('rejects invalid type', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', + // @ts-expect-error: expected type error askAi: 123, // Invalid: should be string or object }; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot( `"askAi must be either a string (assistantId) or an object with indexName, apiKey, appId, and assistantId"`, ); }); it('rejects object missing required fields', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', + // @ts-expect-error: expected type error: missing mandatory fields askAi: { assistantId: 'my-assistant-id', // Missing indexName, apiKey, appId }, }; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot( `""algolia.askAi.indexName" is required"`, ); }); it('accepts undefined askAi', () => { - const algolia: Partial = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index e3107ecd0b05..ba47528b2312 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -6,7 +6,8 @@ */ declare module '@docusaurus/theme-search-algolia' { - import type {DeepPartial} from 'utility-types'; + import type {DeepPartial, Overwrite} from 'utility-types'; + import type {DocSearchProps} from '@docsearch/react'; import type {FacetFilters} from 'algoliasearch/lite'; @@ -52,7 +53,14 @@ declare module '@docusaurus/theme-search-algolia' { algolia: ThemeConfigAlgolia; }; - export type UserThemeConfig = DeepPartial; + export type UserThemeConfig = { + algolia?: Overwrite< + DeepPartial, + { + askAi?: string | AskAiConfig; + } + >; + }; } declare module '@theme/SearchPage' { diff --git a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts index ce910083867d..17c356deb1ab 100644 --- a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts +++ b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts @@ -22,6 +22,10 @@ export const DEFAULT_CONFIG = { searchPagePath: 'search', } satisfies Partial; +const FacetFiltersSchema = Joi.array().items( + Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.string())), +); + export const Schema = Joi.object({ algolia: Joi.object({ // Docusaurus attributes @@ -34,7 +38,9 @@ export const Schema = Joi.object({ }), apiKey: Joi.string().required(), indexName: Joi.string().required(), - searchParameters: Joi.object() + searchParameters: Joi.object({ + facetFilters: FacetFiltersSchema.optional(), + }) .default(DEFAULT_CONFIG.searchParameters) .unknown(), searchPagePath: Joi.alternatives() @@ -65,6 +71,9 @@ export const Schema = Joi.object({ apiKey: Joi.string().required(), appId: Joi.string().required(), assistantId: Joi.string().required(), + searchParameters: Joi.object({ + facetFilters: FacetFiltersSchema.optional(), + }).optional(), }), ) .custom((value: string | ThemeConfigAlgolia['askAi'], helpers) => { From 54a12630c774782f9e8defed2e216af37b869424 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 19:50:05 +0200 Subject: [PATCH 25/53] Add facetFilters validation logic + fallback --- .../src/__tests__/validateThemeConfig.test.ts | 112 ++++++++++++++++++ .../src/theme-search-algolia.d.ts | 2 +- .../src/validateThemeConfig.ts | 46 +++++-- 3 files changed, 148 insertions(+), 12 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts index aef4024891a1..bb6f678eebbc 100644 --- a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts +++ b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts @@ -298,5 +298,117 @@ describe('validateThemeConfig', () => { }, }); }); + + describe('Ask AI search parameters', () => { + it('accepts Ask AI facet filters', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + askAi: { + indexName: 'ai-index', + apiKey: 'ai-apiKey', + appId: 'ai-appId', + assistantId: 'my-assistant-id', + searchParameters: { + facetFilters: ['version:1.0'], + }, + }, + } satisfies AlgoliaInput; + + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + }, + }); + }); + + it('accepts distinct Ask AI / algolia facet filters', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + searchParameters: { + facetFilters: ['version:algolia'], + }, + askAi: { + indexName: 'ai-index', + apiKey: 'ai-apiKey', + appId: 'ai-appId', + assistantId: 'my-assistant-id', + searchParameters: { + facetFilters: ['version:askAi'], + }, + }, + } satisfies AlgoliaInput; + + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + }, + }); + }); + + it('falls back to algolia facet filters', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + searchParameters: { + facetFilters: ['version:1.0'], + }, + askAi: { + indexName: 'ai-index', + apiKey: 'ai-apiKey', + appId: 'ai-appId', + assistantId: 'my-assistant-id', + searchParameters: {}, + }, + } satisfies AlgoliaInput; + + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + askAi: { + ...algolia.askAi, + searchParameters: { + facetFilters: ['version:1.0'], + }, + }, + }, + }); + }); + + it('falls back to algolia facet filters with AskAI string format (assistantId)', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + searchParameters: { + facetFilters: ['version:1.0'], + }, + askAi: 'my-assistant-id', + } satisfies AlgoliaInput; + + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + askAi: { + indexName: algolia.indexName, + apiKey: algolia.apiKey, + appId: algolia.appId, + assistantId: 'my-assistant-id', + searchParameters: { + facetFilters: ['version:1.0'], + }, + }, + }, + }); + }); + }); }); }); diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index ba47528b2312..0402d24b4856 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -18,7 +18,7 @@ declare module '@docusaurus/theme-search-algolia' { appId: string; assistantId: string; searchParameters?: { - facetFilters: FacetFilters; + facetFilters?: FacetFilters; }; }; diff --git a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts index 17c356deb1ab..01a3bec25565 100644 --- a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts +++ b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts @@ -76,18 +76,42 @@ export const Schema = Joi.object({ }).optional(), }), ) - .custom((value: string | ThemeConfigAlgolia['askAi'], helpers) => { - if (typeof value === 'string') { + .custom( + ( + askAiInput: string | ThemeConfigAlgolia['askAi'] | undefined, + helpers, + ) => { + if (!askAiInput) { + return askAiInput; + } const algolia: ThemeConfigAlgolia = helpers.state.ancestors[0]; - return { - assistantId: value, - indexName: algolia.indexName, - apiKey: algolia.apiKey, - appId: algolia.appId, - }; - } - return value; - }) + const algoliaFacetFilters = algolia.searchParameters?.facetFilters; + if (typeof askAiInput === 'string') { + return { + assistantId: askAiInput, + indexName: algolia.indexName, + apiKey: algolia.apiKey, + appId: algolia.appId, + ...(algoliaFacetFilters + ? { + searchParameters: { + facetFilters: algoliaFacetFilters, + }, + } + : {}), + } satisfies ThemeConfigAlgolia['askAi']; + } + + if ( + askAiInput.searchParameters?.facetFilters === undefined && + algoliaFacetFilters + ) { + askAiInput.searchParameters = askAiInput.searchParameters ?? {}; + askAiInput.searchParameters.facetFilters = algoliaFacetFilters; + } + return askAiInput; + }, + ) .optional() .messages({ 'alternatives.types': From 9a8a8c0f74cbbb285639a047fdba58f0eab76e2f Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 5 Sep 2025 20:03:18 +0200 Subject: [PATCH 26/53] damn, forgot about contextualSearch... --- .../src/client/useAlgoliaAskAi.ts | 56 ++++++++----------- 1 file changed, 23 insertions(+), 33 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts index e26ad58e0b89..be8aeebc2960 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts @@ -43,52 +43,42 @@ type UseAskAiResult = { }; }; +// We need to apply contextualSearch facetFilters to AskAI as well +// This can't be done at config normalization time +function applyAskAiSearchParameters( + askAi: AskAiConfig | undefined, + _searchParameters: DocSearchModalProps['searchParameters'], +): AskAiConfig | undefined { + if (!askAi) { + return undefined; + } + + // TODO implement the logic here! + + return askAi; +} + export function useAlgoliaAskAi( props: DocSearchV4PropsLite, searchParameters: DocSearchModalProps['searchParameters'], ): UseAskAiResult { const [isAskAiActive, setIsAskAiActive] = useState(false); - const askAiProp = props.askAi as DocSearchV4PropsLite['askAi']; + const askAi = useMemo(() => { + return applyAskAiSearchParameters(props.askAi, searchParameters); + }, [props.askAi, searchParameters]); - const canHandleAskAi = Boolean(props?.askAi); + const canHandleAskAi = Boolean(askAi); - let currentPlaceholder = - (( - translations.modal as unknown as { - searchBox?: {placeholderText?: string}; - } - )?.searchBox?.placeholderText as string | undefined) || props?.placeholder; - - if (isAskAiActive && isV4) { - currentPlaceholder = ( - translations.modal as unknown as { - searchBox?: {placeholderTextAskAi?: string}; - } - )?.searchBox?.placeholderTextAskAi as string; - } + const currentPlaceholder = + isAskAiActive && isV4 + ? translations.modal?.searchBox?.placeholderTextAskAi + : translations.modal?.searchBox?.placeholderText || props?.placeholder; const onAskAiToggle = useCallback((askAiToggle: boolean) => { setIsAskAiActive(askAiToggle); }, []); - // TODO handle this in Joy schema? - const askAi: AskAiConfig | undefined = useMemo(() => { - if (!askAiProp) { - return undefined; - } - - return { - indexName: askAiProp.indexName, - apiKey: askAiProp.apiKey, - appId: askAiProp.appId, - assistantId: askAiProp.assistantId, - searchParameters: searchParameters?.facetFilters - ? {facetFilters: searchParameters.facetFilters} - : undefined, - }; - }, [askAiProp, searchParameters]); - const extraAskAiProps: UseAskAiResult['extraAskAiProps'] = { askAi, canHandleAskAi, From 0bade1626feaf0ae7421c7405c99708a6f3c5198 Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 11 Sep 2025 11:29:41 +0200 Subject: [PATCH 27/53] extract mergeFacetFilters utils --- .../src/client/index.ts | 1 + .../src/client/utils.ts | 17 +++++++++++++++++ .../src/theme/SearchBar/index.tsx | 7 +------ 3 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 packages/docusaurus-theme-search-algolia/src/client/utils.ts diff --git a/packages/docusaurus-theme-search-algolia/src/client/index.ts b/packages/docusaurus-theme-search-algolia/src/client/index.ts index b7e597df560d..76e2daa681c3 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/index.ts @@ -9,3 +9,4 @@ export {useAlgoliaThemeConfig} from './useAlgoliaThemeConfig'; export {useAlgoliaContextualFacetFilters} from './useAlgoliaContextualFacetFilters'; export {useSearchResultUrlProcessor} from './useSearchResultUrlProcessor'; export {useAlgoliaAskAi} from './useAlgoliaAskAi'; +export {mergeFacetFilters} from './utils'; diff --git a/packages/docusaurus-theme-search-algolia/src/client/utils.ts b/packages/docusaurus-theme-search-algolia/src/client/utils.ts new file mode 100644 index 000000000000..ed7f6c698785 --- /dev/null +++ b/packages/docusaurus-theme-search-algolia/src/client/utils.ts @@ -0,0 +1,17 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import type {FacetFilters} from 'algoliasearch/lite'; + +export function mergeFacetFilters( + f1: FacetFilters, + f2: FacetFilters, +): FacetFilters { + const normalize = (f: FacetFilters): FacetFilters => + typeof f === 'string' ? [f] : f; + return [...normalize(f1), ...normalize(f2)]; +} diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index 20ddd8984ac5..16767039c9f1 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -25,6 +25,7 @@ import { useAlgoliaContextualFacetFilters, useSearchResultUrlProcessor, useAlgoliaAskAi, + mergeFacetFilters, } from '@docusaurus/theme-search-algolia/client'; import Translate from '@docusaurus/Translate'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; @@ -173,12 +174,6 @@ function useSearchParameters({ contextualSearch, ...props }: DocSearchProps): DocSearchProps['searchParameters'] { - function mergeFacetFilters(f1: FacetFilters, f2: FacetFilters): FacetFilters { - const normalize = (f: FacetFilters): FacetFilters => - typeof f === 'string' ? [f] : f; - return [...normalize(f1), ...normalize(f2)]; - } - const contextualSearchFacetFilters = useAlgoliaContextualFacetFilters() as FacetFilters; From 74044542e3fe1c2bf3729472b9c8e777a847f7d0 Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 11 Sep 2025 11:42:04 +0200 Subject: [PATCH 28/53] fix type of useAlgoliaContextualFacetFilters --- .../src/client/useAlgoliaContextualFacetFilters.ts | 3 ++- .../src/theme/SearchBar/index.tsx | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts index e12b11308816..5ca14eca8309 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts @@ -8,6 +8,7 @@ import {DEFAULT_SEARCH_TAG} from '@docusaurus/theme-common/internal'; import {useDocsContextualSearchTags} from '@docusaurus/plugin-content-docs/client'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import type {FacetFilters} from 'algoliasearch/lite'; function useSearchTags() { // only docs have custom search tags per version @@ -16,7 +17,7 @@ function useSearchTags() { } // Translate search-engine agnostic search tags to Algolia search filters -export function useAlgoliaContextualFacetFilters(): [string, string[]] { +export function useAlgoliaContextualFacetFilters(): FacetFilters { const locale = useDocusaurusContext().i18n.currentLocale; const tags = useSearchTags(); diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index 16767039c9f1..8909414d21bf 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -174,8 +174,7 @@ function useSearchParameters({ contextualSearch, ...props }: DocSearchProps): DocSearchProps['searchParameters'] { - const contextualSearchFacetFilters = - useAlgoliaContextualFacetFilters() as FacetFilters; + const contextualSearchFacetFilters = useAlgoliaContextualFacetFilters(); const configFacetFilters: FacetFilters = props.searchParameters?.facetFilters ?? []; @@ -253,8 +252,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { searchButtonRef, isAskAiActive: isAskAiActive ?? false, onAskAiToggle: onAskAiToggle ?? (() => {}), - // todo(v4): remove any when we default to v4 - } as any); + }); return ( <> From 6ab1a5f56150fc0cab5ba000376e5243fc2e9ac5 Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 11 Sep 2025 12:56:07 +0200 Subject: [PATCH 29/53] add unit tests for mergeFacetFilters --- .eslintrc.js | 2 +- .../src/__tests__/utils.test.ts | 47 +++++++++++++++++++ .../src/client/index.ts | 5 +- .../useAlgoliaContextualFacetFilters.ts | 15 ++++++ .../src/client/utils.ts | 15 +++++- 5 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 packages/docusaurus-theme-search-algolia/src/__tests__/utils.test.ts diff --git a/.eslintrc.js b/.eslintrc.js index e8e026c9665a..41859a9031f7 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -304,7 +304,7 @@ module.exports = { 'jest/prefer-expect-resolves': WARNING, 'jest/prefer-lowercase-title': [WARNING, {ignore: ['describe']}], 'jest/prefer-spy-on': WARNING, - 'jest/prefer-to-be': WARNING, + 'jest/prefer-to-be': OFF, 'jest/prefer-to-have-length': WARNING, 'jest/require-top-level-describe': ERROR, 'jest/valid-title': [ diff --git a/packages/docusaurus-theme-search-algolia/src/__tests__/utils.test.ts b/packages/docusaurus-theme-search-algolia/src/__tests__/utils.test.ts new file mode 100644 index 000000000000..b3ed86fff0c5 --- /dev/null +++ b/packages/docusaurus-theme-search-algolia/src/__tests__/utils.test.ts @@ -0,0 +1,47 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import {mergeFacetFilters} from '../client/utils'; + +describe('mergeFacetFilters', () => { + it('merges [string,string]', () => { + expect(mergeFacetFilters('f1', 'f2')).toEqual(['f1', 'f2']); + }); + + it('merges [string,array]', () => { + // TODO this looks wrong to me, should be ['f1', ['f2', 'f3']] ? + expect(mergeFacetFilters('f1', ['f2', 'f3'])).toEqual(['f1', 'f2', 'f3']); + }); + + it('merges [string,undefined]', () => { + expect(mergeFacetFilters('f1', undefined)).toEqual('f1'); + }); + + it('merges [undefined,string]', () => { + expect(mergeFacetFilters(undefined, 'f1')).toEqual('f1'); + }); + + it('merges [array,undefined]', () => { + expect(mergeFacetFilters(['f1', 'f2'], undefined)).toEqual(['f1', 'f2']); + }); + + it('merges [undefined,array]', () => { + expect(mergeFacetFilters(undefined, ['f1', 'f2'])).toEqual(['f1', 'f2']); + }); + + it('merges [array,array]', () => { + expect(mergeFacetFilters(['f1'], ['f2'])).toEqual(['f1', 'f2']); + + // TODO this looks wrong to me, should be [['f1', 'f2'], ['f3', 'f4']] ? + expect(mergeFacetFilters(['f1', 'f2'], ['f3', 'f4'])).toEqual([ + 'f1', + 'f2', + 'f3', + 'f4', + ]); + }); +}); diff --git a/packages/docusaurus-theme-search-algolia/src/client/index.ts b/packages/docusaurus-theme-search-algolia/src/client/index.ts index 76e2daa681c3..c2d61a668de6 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/index.ts @@ -6,7 +6,10 @@ */ export {useAlgoliaThemeConfig} from './useAlgoliaThemeConfig'; -export {useAlgoliaContextualFacetFilters} from './useAlgoliaContextualFacetFilters'; +export { + useAlgoliaContextualFacetFilters, + useAlgoliaContextualFacetFiltersIfEnabled, +} from './useAlgoliaContextualFacetFilters'; export {useSearchResultUrlProcessor} from './useSearchResultUrlProcessor'; export {useAlgoliaAskAi} from './useAlgoliaAskAi'; export {mergeFacetFilters} from './utils'; diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts index 5ca14eca8309..753ee166bd78 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts @@ -8,6 +8,7 @@ import {DEFAULT_SEARCH_TAG} from '@docusaurus/theme-common/internal'; import {useDocsContextualSearchTags} from '@docusaurus/plugin-content-docs/client'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import {useAlgoliaThemeConfig} from './useAlgoliaThemeConfig'; import type {FacetFilters} from 'algoliasearch/lite'; function useSearchTags() { @@ -28,3 +29,17 @@ export function useAlgoliaContextualFacetFilters(): FacetFilters { return [languageFilter, tagsFilter]; } + +export function useAlgoliaContextualFacetFiltersIfEnabled(): + | FacetFilters + | undefined { + const { + algolia: {contextualSearch}, + } = useAlgoliaThemeConfig(); + const facetFilters = useAlgoliaContextualFacetFilters(); + if (contextualSearch) { + return facetFilters; + } else { + return undefined; + } +} diff --git a/packages/docusaurus-theme-search-algolia/src/client/utils.ts b/packages/docusaurus-theme-search-algolia/src/client/utils.ts index ed7f6c698785..6669b4fbe775 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/utils.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/utils.ts @@ -10,8 +10,21 @@ import type {FacetFilters} from 'algoliasearch/lite'; export function mergeFacetFilters( f1: FacetFilters, f2: FacetFilters, -): FacetFilters { +): FacetFilters; + +export function mergeFacetFilters( + f1: FacetFilters | undefined, + f2: FacetFilters | undefined, +): FacetFilters | undefined { + if (f1 === undefined) { + return f2; + } + if (f2 === undefined) { + return f1; + } + const normalize = (f: FacetFilters): FacetFilters => typeof f === 'string' ? [f] : f; + return [...normalize(f1), ...normalize(f2)]; } From abedf6bfdea6cbb946cc4e41cddea0c0bd08fcf2 Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 11 Sep 2025 13:20:05 +0200 Subject: [PATCH 30/53] implement applyAskAiContextualSearch --- .../src/client/useAlgoliaAskAi.ts | 44 ++++++++++++------- .../src/client/utils.ts | 5 +++ .../src/theme-search-algolia.d.ts | 2 + 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts index be8aeebc2960..2abcbc7250d4 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts @@ -12,9 +12,10 @@ import { type DocSearchTranslations, } from '@docsearch/react'; import translations from '@theme/SearchTranslations'; -import type {ThemeConfigAlgolia} from '@docusaurus/theme-search-algolia'; - -type AskAiConfig = NonNullable; +import {useAlgoliaContextualFacetFiltersIfEnabled} from './useAlgoliaContextualFacetFilters'; +import {mergeFacetFilters} from './utils'; +import type {AskAiConfig} from '@docusaurus/theme-search-algolia'; +import type {FacetFilters} from 'algoliasearch/lite'; // The minimal props the hook needs from DocSearch v4 props interface DocSearchV4PropsLite { @@ -43,30 +44,39 @@ type UseAskAiResult = { }; }; -// We need to apply contextualSearch facetFilters to AskAI as well -// This can't be done at config normalization time -function applyAskAiSearchParameters( +// We need to apply contextualSearch facetFilters to AskAI filters +// This can't be done at config normalization time because contextual filters +// can only be determined at runtime +function applyAskAiContextualSearch( askAi: AskAiConfig | undefined, - _searchParameters: DocSearchModalProps['searchParameters'], + contextualSearchFilters: FacetFilters | undefined, ): AskAiConfig | undefined { if (!askAi) { return undefined; } - - // TODO implement the logic here! - - return askAi; + if (!contextualSearchFilters) { + return askAi; + } + const askAiFacetFilters = askAi.searchParameters?.facetFilters; + return { + ...askAi, + searchParameters: { + ...askAi.searchParameters, + facetFilters: mergeFacetFilters( + askAiFacetFilters, + contextualSearchFilters, + ), + }, + }; } -export function useAlgoliaAskAi( - props: DocSearchV4PropsLite, - searchParameters: DocSearchModalProps['searchParameters'], -): UseAskAiResult { +export function useAlgoliaAskAi(props: DocSearchV4PropsLite): UseAskAiResult { const [isAskAiActive, setIsAskAiActive] = useState(false); + const contextualSearchFilters = useAlgoliaContextualFacetFiltersIfEnabled(); const askAi = useMemo(() => { - return applyAskAiSearchParameters(props.askAi, searchParameters); - }, [props.askAi, searchParameters]); + return applyAskAiContextualSearch(props.askAi, contextualSearchFilters); + }, [props.askAi, contextualSearchFilters]); const canHandleAskAi = Boolean(askAi); diff --git a/packages/docusaurus-theme-search-algolia/src/client/utils.ts b/packages/docusaurus-theme-search-algolia/src/client/utils.ts index 6669b4fbe775..8557135cec67 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/utils.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/utils.ts @@ -12,6 +12,11 @@ export function mergeFacetFilters( f2: FacetFilters, ): FacetFilters; +export function mergeFacetFilters( + f1: FacetFilters | undefined, + f2: FacetFilters | undefined, +): FacetFilters | undefined; + export function mergeFacetFilters( f1: FacetFilters | undefined, f2: FacetFilters | undefined, diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index 0402d24b4856..3cec1caba956 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -49,6 +49,8 @@ declare module '@docusaurus/theme-search-algolia' { }; }; + export type AskAiConfig = NonNullable; + export type ThemeConfig = { algolia: ThemeConfigAlgolia; }; From 25d3327b36e5d13fd9eddb05269b8b21a7e289bc Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 11 Sep 2025 13:20:23 +0200 Subject: [PATCH 31/53] fix attr --- .../src/theme/SearchBar/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index 8909414d21bf..aa9b73424996 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -206,7 +206,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { ); const {isAskAiActive, currentPlaceholder, onAskAiToggle, extraAskAiProps} = - useAlgoliaAskAi(props, searchParameters); + useAlgoliaAskAi(props); const prepareSearchContainer = useCallback(() => { if (!searchContainer.current) { From 9679da8dab97ef9ebb151aff1e781b382e7e142b Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 11 Sep 2025 18:03:06 +0200 Subject: [PATCH 32/53] fix type --- .../src/theme-search-algolia.d.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index 3cec1caba956..fb595e62cc0c 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -12,7 +12,7 @@ declare module '@docusaurus/theme-search-algolia' { import type {FacetFilters} from 'algoliasearch/lite'; // The config after normalization (e.g. AskAI string -> object) - type AskAiConfig = { + export type AskAiConfig = { indexName: string; apiKey: string; appId: string; @@ -49,8 +49,6 @@ declare module '@docusaurus/theme-search-algolia' { }; }; - export type AskAiConfig = NonNullable; - export type ThemeConfig = { algolia: ThemeConfigAlgolia; }; From 2687d6bcdf129aed3d8a8f939eb016e633f5eed6 Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 11 Sep 2025 18:27:35 +0200 Subject: [PATCH 33/53] add todo --- packages/docusaurus-theme-search-algolia/src/client/utils.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/docusaurus-theme-search-algolia/src/client/utils.ts b/packages/docusaurus-theme-search-algolia/src/client/utils.ts index 8557135cec67..7e27a23ca91a 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/utils.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/utils.ts @@ -31,5 +31,8 @@ export function mergeFacetFilters( const normalize = (f: FacetFilters): FacetFilters => typeof f === 'string' ? [f] : f; + // Historical behavior: we flatten everything + // TODO I'm pretty sure this is incorrect + // see https://www.algolia.com/doc/api-reference/api-parameters/facetFilters/?client=javascript return [...normalize(f1), ...normalize(f2)]; } From 30678fdf9a92df0462accf2f320ab2d86de90895 Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 11 Sep 2025 18:53:45 +0200 Subject: [PATCH 34/53] improve v3 TS retro-compatibility --- package.json | 2 +- .../src/client/useAlgoliaAskAi.ts | 1 + .../src/theme-search-algolia.d.ts | 11 +- .../src/theme/SearchBar/index.tsx | 17 ++- yarn.lock | 133 +++++------------- 5 files changed, 63 insertions(+), 101 deletions(-) diff --git a/package.json b/package.json index e3320a9547d8..94220abcfe3f 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "typescript": "~5.8.2" }, "resolutions": { - "@docsearch/react": "^4.0.0-beta.8" + "@docsearch/react": "^3.9.0" }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts index 2abcbc7250d4..ec80891fc6ed 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts @@ -18,6 +18,7 @@ import type {AskAiConfig} from '@docusaurus/theme-search-algolia'; import type {FacetFilters} from 'algoliasearch/lite'; // The minimal props the hook needs from DocSearch v4 props +// TODO Docusaurus v4: cleanup after we drop support for DocSearch v3 interface DocSearchV4PropsLite { indexName: string; apiKey: string; diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index fb595e62cc0c..eafef259fa96 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -78,6 +78,15 @@ declare module '@theme/SearchBar' { declare module '@theme/SearchTranslations' { import type {DocSearchTranslations} from '@docsearch/react'; - const translations: DocSearchTranslations & {placeholder: string}; + const translations: DocSearchTranslations & { + placeholder: string; + // TODO Docusaurus v4: cleanup after we drop support for DocSearch v3 + modal?: { + searchBox?: { + placeholderText?: string; + placeholderTextAskAi?: string; + }; + }; + }; export default translations; } diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index aa9b73424996..8f9d8162ba51 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -38,6 +38,7 @@ import type { DocSearchTransformClient, DocSearchHit, DocSearchTranslations, + UseDocSearchKeyboardEventsProps, } from '@docsearch/react'; import type {AutocompleteState} from '@algolia/autocomplete-core'; @@ -51,10 +52,14 @@ type DocSearchProps = Omit< contextualSearch?: string; externalUrlRegex?: string; searchPagePath: boolean | string; - askAi?: Exclude; + askAi?: Exclude< + (DocSearchModalProps & {askAi: unknown})['askAi'], + string | undefined + >; }; // extend DocSearchProps for v4 features +// TODO Docusaurus v4: cleanup after we drop support for DocSearch v3 interface DocSearchV4Props extends DocSearchProps { askAi?: ThemeConfigAlgolia['askAi']; translations?: DocSearchTranslations; @@ -252,7 +257,11 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { searchButtonRef, isAskAiActive: isAskAiActive ?? false, onAskAiToggle: onAskAiToggle ?? (() => {}), - }); + } satisfies UseDocSearchKeyboardEventsProps & { + // TODO Docusaurus v4: cleanup after we drop support for DocSearch v3 + isAskAiActive: boolean; + onAskAiToggle: (askAiToggle: boolean) => void; + } as UseDocSearchKeyboardEventsProps); return ( <> @@ -279,7 +288,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { {isOpen && DocSearchModal && // TODO need to fix this React Compiler lint error - // eslint-disable-next-line react-compiler/react-compiler + searchContainer.current && createPortal( , // TODO need to fix this React Compiler lint error - // eslint-disable-next-line react-compiler/react-compiler + searchContainer.current, )} diff --git a/yarn.lock b/yarn.lock index a6c9505e26b0..392ea1285ace 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,41 +2,6 @@ # yarn lockfile v1 -"@ai-sdk/provider-utils@2.2.8": - version "2.2.8" - resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz#ad11b92d5a1763ab34ba7b5fc42494bfe08b76d1" - integrity sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA== - dependencies: - "@ai-sdk/provider" "1.1.3" - nanoid "^3.3.8" - secure-json-parse "^2.7.0" - -"@ai-sdk/provider@1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-1.1.3.tgz#ebdda8077b8d2b3f290dcba32c45ad19b2704681" - integrity sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg== - dependencies: - json-schema "^0.4.0" - -"@ai-sdk/react@^1.2.12": - version "1.2.12" - resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-1.2.12.tgz#f4250b6df566b170af98a71d5708b52108dd0ce1" - integrity sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g== - dependencies: - "@ai-sdk/provider-utils" "2.2.8" - "@ai-sdk/ui-utils" "1.2.11" - swr "^2.2.5" - throttleit "2.1.0" - -"@ai-sdk/ui-utils@1.2.11": - version "1.2.11" - resolved "https://registry.yarnpkg.com/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz#4f815589d08d8fef7292ade54ee5db5d09652603" - integrity sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w== - dependencies: - "@ai-sdk/provider" "1.1.3" - "@ai-sdk/provider-utils" "2.2.8" - zod-to-json-schema "^3.24.1" - "@algolia/abtesting@1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.3.0.tgz#3fade769bf5b03244baaee8034b83e2b49f8e86c" @@ -47,25 +12,32 @@ "@algolia/requester-fetch" "5.37.0" "@algolia/requester-node-http" "5.37.0" -"@algolia/autocomplete-core@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz#702df67a08cb3cfe8c33ee1111ef136ec1a9e232" - integrity sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw== +"@algolia/autocomplete-core@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" + integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-plugin-algolia-insights@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" + integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.19.2" - "@algolia/autocomplete-shared" "1.19.2" + "@algolia/autocomplete-shared" "1.17.9" -"@algolia/autocomplete-plugin-algolia-insights@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz#3584b625b9317e333d1ae43664d02358e175c52d" - integrity sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg== +"@algolia/autocomplete-preset-algolia@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" + integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== dependencies: - "@algolia/autocomplete-shared" "1.19.2" + "@algolia/autocomplete-shared" "1.17.9" -"@algolia/autocomplete-shared@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" - integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w== +"@algolia/autocomplete-shared@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" + integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== "@algolia/client-abtesting@5.37.0": version "5.37.0" @@ -2078,21 +2050,20 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@4.0.0-beta.8": - version "4.0.0-beta.8" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.8.tgz#836ac7c3eeecf87cfc9c518210f4dfd27e49b05f" - integrity sha512-/ZlyvZCjIJM4aaOYoJpVNHPJckX7J5KIbt6IWjnZXvo0QAUI1aH976vKEJUC9olgUbE3LWafB8yuX4qoqahIQg== +"@docsearch/css@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" + integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== -"@docsearch/react@^3.9.0 || ^4.0.0-beta.7 || ^4.0.0", "@docsearch/react@^4.0.0-beta.8": - version "4.0.0-beta.8" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.8.tgz#b3d75b42cf2b1b696317930d7b255c098df266ca" - integrity sha512-2gbk3SHUOKXDw0SfnblIpV3Z5pp4nANFg0oUB3kuheOfv5Wau0ZssIOAjEBTKmEzP5tO0Gljh5NL6t4SrXIhBg== +"@docsearch/react@^3.9.0", "@docsearch/react@^3.9.0 || ^4.0.0-beta.7 || ^4.0.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" + integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== dependencies: - "@ai-sdk/react" "^1.2.12" - "@algolia/autocomplete-core" "1.19.2" - "@docsearch/css" "4.0.0-beta.8" - algoliasearch "^5.28.0" - marked "^15.0.12" + "@algolia/autocomplete-core" "1.17.9" + "@algolia/autocomplete-preset-algolia" "1.17.9" + "@docsearch/css" "3.9.0" + algoliasearch "^5.14.2" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -5178,7 +5149,7 @@ algoliasearch-helper@^3.26.0: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.28.0, algoliasearch@^5.37.0: +algoliasearch@^5.14.2, algoliasearch@^5.37.0: version "5.37.0" resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.37.0.tgz#73dc4a09654e6e02b529300018d639706b95b47b" integrity sha512-y7gau/ZOQDqoInTQp0IwTOjkrHc4Aq4R8JgpmCleFwiLl+PbN2DMWoDUWZnrK8AhNJwT++dn28Bt4NZYNLAmuA== @@ -7751,7 +7722,7 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -dequal@^2.0.0, dequal@^2.0.3: +dequal@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -12202,7 +12173,7 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== -marked@^15.0.12, marked@^15.0.7: +marked@^15.0.7: version "15.0.12" resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e" integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA== @@ -13304,7 +13275,7 @@ mz@^2.4.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11, nanoid@^3.3.8: +nanoid@^3.3.11: version "3.3.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== @@ -16348,11 +16319,6 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" -secure-json-parse@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" - integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -17386,14 +17352,6 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" -swr@^2.2.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/swr/-/swr-2.3.6.tgz#5fee0ee8a0762a16871ee371075cb09422b64f50" - integrity sha512-wfHRmHWk/isGNMwlLGlZX5Gzz/uTgo0o2IRuTMcf4CPuPFJZlq0rDaKUx+ozB5nBOReNV1kiOyzMfj+MBMikLw== - dependencies: - dequal "^2.0.3" - use-sync-external-store "^1.4.0" - symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -17563,11 +17521,6 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -throttleit@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-2.1.0.tgz#a7e4aa0bf4845a5bd10daa39ea0c783f631a07b4" - integrity sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw== - through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -18239,11 +18192,6 @@ use-editable@^2.3.3: resolved "https://registry.yarnpkg.com/use-editable/-/use-editable-2.3.3.tgz#a292fe9ba4c291cd28d1cc2728c75a5fc8d9a33f" integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA== -use-sync-external-store@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" - integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -19136,11 +19084,6 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== -zod-to-json-schema@^3.24.1: - version "3.24.6" - resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz#5920f020c4d2647edfbb954fa036082b92c9e12d" - integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg== - zod-validation-error@^3.0.3: version "3.4.0" resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" From 98d9b1495bcc3ab8885c137a25070ab20ed934cc Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 11 Sep 2025 19:00:59 +0200 Subject: [PATCH 35/53] lint issue --- .../src/theme/SearchBar/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index 8f9d8162ba51..59799c25720e 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -288,7 +288,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { {isOpen && DocSearchModal && // TODO need to fix this React Compiler lint error - + searchContainer.current && createPortal( , // TODO need to fix this React Compiler lint error - + searchContainer.current, )} From ea81dec7752d3d778a46a9efcd8d50a14c0182e0 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 12 Sep 2025 10:41:52 +0200 Subject: [PATCH 36/53] restore DocSearch v4 --- package.json | 2 +- yarn.lock | 133 ++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 96 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index 94220abcfe3f..e3320a9547d8 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "typescript": "~5.8.2" }, "resolutions": { - "@docsearch/react": "^3.9.0" + "@docsearch/react": "^4.0.0-beta.8" }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/yarn.lock b/yarn.lock index 392ea1285ace..a6c9505e26b0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,41 @@ # yarn lockfile v1 +"@ai-sdk/provider-utils@2.2.8": + version "2.2.8" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz#ad11b92d5a1763ab34ba7b5fc42494bfe08b76d1" + integrity sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA== + dependencies: + "@ai-sdk/provider" "1.1.3" + nanoid "^3.3.8" + secure-json-parse "^2.7.0" + +"@ai-sdk/provider@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-1.1.3.tgz#ebdda8077b8d2b3f290dcba32c45ad19b2704681" + integrity sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg== + dependencies: + json-schema "^0.4.0" + +"@ai-sdk/react@^1.2.12": + version "1.2.12" + resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-1.2.12.tgz#f4250b6df566b170af98a71d5708b52108dd0ce1" + integrity sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g== + dependencies: + "@ai-sdk/provider-utils" "2.2.8" + "@ai-sdk/ui-utils" "1.2.11" + swr "^2.2.5" + throttleit "2.1.0" + +"@ai-sdk/ui-utils@1.2.11": + version "1.2.11" + resolved "https://registry.yarnpkg.com/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz#4f815589d08d8fef7292ade54ee5db5d09652603" + integrity sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w== + dependencies: + "@ai-sdk/provider" "1.1.3" + "@ai-sdk/provider-utils" "2.2.8" + zod-to-json-schema "^3.24.1" + "@algolia/abtesting@1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.3.0.tgz#3fade769bf5b03244baaee8034b83e2b49f8e86c" @@ -12,32 +47,25 @@ "@algolia/requester-fetch" "5.37.0" "@algolia/requester-node-http" "5.37.0" -"@algolia/autocomplete-core@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" - integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" - "@algolia/autocomplete-shared" "1.17.9" - -"@algolia/autocomplete-plugin-algolia-insights@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" - integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== +"@algolia/autocomplete-core@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz#702df67a08cb3cfe8c33ee1111ef136ec1a9e232" + integrity sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw== dependencies: - "@algolia/autocomplete-shared" "1.17.9" + "@algolia/autocomplete-plugin-algolia-insights" "1.19.2" + "@algolia/autocomplete-shared" "1.19.2" -"@algolia/autocomplete-preset-algolia@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" - integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== +"@algolia/autocomplete-plugin-algolia-insights@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz#3584b625b9317e333d1ae43664d02358e175c52d" + integrity sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg== dependencies: - "@algolia/autocomplete-shared" "1.17.9" + "@algolia/autocomplete-shared" "1.19.2" -"@algolia/autocomplete-shared@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" - integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== +"@algolia/autocomplete-shared@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" + integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w== "@algolia/client-abtesting@5.37.0": version "5.37.0" @@ -2050,20 +2078,21 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" - integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== +"@docsearch/css@4.0.0-beta.8": + version "4.0.0-beta.8" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.8.tgz#836ac7c3eeecf87cfc9c518210f4dfd27e49b05f" + integrity sha512-/ZlyvZCjIJM4aaOYoJpVNHPJckX7J5KIbt6IWjnZXvo0QAUI1aH976vKEJUC9olgUbE3LWafB8yuX4qoqahIQg== -"@docsearch/react@^3.9.0", "@docsearch/react@^3.9.0 || ^4.0.0-beta.7 || ^4.0.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" - integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== +"@docsearch/react@^3.9.0 || ^4.0.0-beta.7 || ^4.0.0", "@docsearch/react@^4.0.0-beta.8": + version "4.0.0-beta.8" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.8.tgz#b3d75b42cf2b1b696317930d7b255c098df266ca" + integrity sha512-2gbk3SHUOKXDw0SfnblIpV3Z5pp4nANFg0oUB3kuheOfv5Wau0ZssIOAjEBTKmEzP5tO0Gljh5NL6t4SrXIhBg== dependencies: - "@algolia/autocomplete-core" "1.17.9" - "@algolia/autocomplete-preset-algolia" "1.17.9" - "@docsearch/css" "3.9.0" - algoliasearch "^5.14.2" + "@ai-sdk/react" "^1.2.12" + "@algolia/autocomplete-core" "1.19.2" + "@docsearch/css" "4.0.0-beta.8" + algoliasearch "^5.28.0" + marked "^15.0.12" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -5149,7 +5178,7 @@ algoliasearch-helper@^3.26.0: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.14.2, algoliasearch@^5.37.0: +algoliasearch@^5.28.0, algoliasearch@^5.37.0: version "5.37.0" resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.37.0.tgz#73dc4a09654e6e02b529300018d639706b95b47b" integrity sha512-y7gau/ZOQDqoInTQp0IwTOjkrHc4Aq4R8JgpmCleFwiLl+PbN2DMWoDUWZnrK8AhNJwT++dn28Bt4NZYNLAmuA== @@ -7722,7 +7751,7 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -dequal@^2.0.0: +dequal@^2.0.0, dequal@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -12173,7 +12202,7 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== -marked@^15.0.7: +marked@^15.0.12, marked@^15.0.7: version "15.0.12" resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e" integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA== @@ -13275,7 +13304,7 @@ mz@^2.4.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11: +nanoid@^3.3.11, nanoid@^3.3.8: version "3.3.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== @@ -16319,6 +16348,11 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" +secure-json-parse@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" + integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -17352,6 +17386,14 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" +swr@^2.2.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/swr/-/swr-2.3.6.tgz#5fee0ee8a0762a16871ee371075cb09422b64f50" + integrity sha512-wfHRmHWk/isGNMwlLGlZX5Gzz/uTgo0o2IRuTMcf4CPuPFJZlq0rDaKUx+ozB5nBOReNV1kiOyzMfj+MBMikLw== + dependencies: + dequal "^2.0.3" + use-sync-external-store "^1.4.0" + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -17521,6 +17563,11 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" +throttleit@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-2.1.0.tgz#a7e4aa0bf4845a5bd10daa39ea0c783f631a07b4" + integrity sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw== + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -18192,6 +18239,11 @@ use-editable@^2.3.3: resolved "https://registry.yarnpkg.com/use-editable/-/use-editable-2.3.3.tgz#a292fe9ba4c291cd28d1cc2728c75a5fc8d9a33f" integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA== +use-sync-external-store@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" + integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -19084,6 +19136,11 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== +zod-to-json-schema@^3.24.1: + version "3.24.6" + resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz#5920f020c4d2647edfbb954fa036082b92c9e12d" + integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg== + zod-validation-error@^3.0.3: version "3.4.0" resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" From 9b49752a1b450e3999f1aa5b1ffae4a239807f9d Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 12 Sep 2025 10:57:35 +0200 Subject: [PATCH 37/53] improve Algolia accepted themeConfig typing + type tests --- .../src/__tests__/validateThemeConfig.test.ts | 8 +++++++- .../src/theme-search-algolia.d.ts | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts index bb6f678eebbc..b41f5bb73bdf 100644 --- a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts +++ b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts @@ -77,13 +77,17 @@ describe('validateThemeConfig', () => { it('empty config', () => { expect(() => - testValidateThemeConfig({}), + testValidateThemeConfig( + // @ts-expect-error: expected type error! + {}, + ), ).toThrowErrorMatchingInlineSnapshot( `""algolia.appId" is required. If you haven't migrated to the new DocSearch infra, please refer to the blog post for instructions: https://docusaurus.io/blog/2021/11/21/algolia-docsearch-migration"`, ); }); it('missing indexName config', () => { + // @ts-expect-error: expected type error! const algolia: AlgoliaInput = { apiKey: 'apiKey', appId: 'BH4D9OD16A', @@ -94,6 +98,7 @@ describe('validateThemeConfig', () => { }); it('missing apiKey config', () => { + // @ts-expect-error: expected type error! const algolia: AlgoliaInput = { indexName: 'indexName', appId: 'BH4D9OD16A', @@ -104,6 +109,7 @@ describe('validateThemeConfig', () => { }); it('missing appId config', () => { + // @ts-expect-error: expected type error! const algolia: AlgoliaInput = { indexName: 'indexName', apiKey: 'apiKey', diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index eafef259fa96..b7d51b0d6e8a 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -57,6 +57,11 @@ declare module '@docusaurus/theme-search-algolia' { algolia?: Overwrite< DeepPartial, { + // Required fields: + appId: ThemeConfigAlgolia['appId']; + apiKey: ThemeConfigAlgolia['apiKey']; + indexName: ThemeConfigAlgolia['indexName']; + // askAi also accepts a shorter string form askAi?: string | AskAiConfig; } >; From d42b7c63725a5a107d2e7ea506b9671fc6dc75a3 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 12 Sep 2025 11:29:40 +0200 Subject: [PATCH 38/53] remove useless ESLint todos? --- .../src/theme/SearchBar/index.tsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index 59799c25720e..ae9d68c0330b 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -287,8 +287,6 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { {isOpen && DocSearchModal && - // TODO need to fix this React Compiler lint error - searchContainer.current && createPortal( , - // TODO need to fix this React Compiler lint error - searchContainer.current, )} From 8cebd98bb8468e6eb30190cf5363890f90978794 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 12 Sep 2025 11:33:24 +0200 Subject: [PATCH 39/53] remove useless navbarSearchContainer vertical padding: item is already centered --- .../src/theme/Navbar/Search/styles.module.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/docusaurus-theme-classic/src/theme/Navbar/Search/styles.module.css b/packages/docusaurus-theme-classic/src/theme/Navbar/Search/styles.module.css index b59d29e3fce6..c58238dcf97e 100644 --- a/packages/docusaurus-theme-classic/src/theme/Navbar/Search/styles.module.css +++ b/packages/docusaurus-theme-classic/src/theme/Navbar/Search/styles.module.css @@ -22,7 +22,6 @@ See https://github.com/facebook/docusaurus/pull/9385 @media (min-width: 997px) { .navbarSearchContainer { - padding: var(--ifm-navbar-item-padding-vertical) - var(--ifm-navbar-item-padding-horizontal); + padding: 0 var(--ifm-navbar-item-padding-horizontal); } } From 4a1bbd5b1ca82696c9b44f48cd0673195ae07f3b Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 12 Sep 2025 19:06:14 +0200 Subject: [PATCH 40/53] remove useless css --- .../src/theme/SearchBar/styles.css | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css index d153e2e7c98c..78689effe4e5 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css @@ -14,7 +14,6 @@ margin: 0; transition: all var(--ifm-transition-fast) var(--ifm-transition-timing-default); - width: auto; } .DocSearch-Container { From 0382b6f02056747d2e24d316d8b8fa14d2731ad9 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 12 Sep 2025 19:07:47 +0200 Subject: [PATCH 41/53] add useful comment --- packages/docusaurus-theme-search-algolia/src/client/utils.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/docusaurus-theme-search-algolia/src/client/utils.ts b/packages/docusaurus-theme-search-algolia/src/client/utils.ts index 7e27a23ca91a..3ec1336779ac 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/utils.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/utils.ts @@ -34,5 +34,7 @@ export function mergeFacetFilters( // Historical behavior: we flatten everything // TODO I'm pretty sure this is incorrect // see https://www.algolia.com/doc/api-reference/api-parameters/facetFilters/?client=javascript + // Note: Algolia is working to provide a reliable facet merging strategy + // see https://github.com/facebook/docusaurus/pull/11327#issuecomment-3284742923 return [...normalize(f1), ...normalize(f2)]; } From c0bca417898041d53b1f7679c995d6ca7bab2206 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 12 Sep 2025 19:09:27 +0200 Subject: [PATCH 42/53] revert props spread behavior change --- .../src/theme/SearchBar/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index ae9d68c0330b..edf6754c6f1c 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -290,7 +290,6 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { searchContainer.current && createPortal( Date: Tue, 16 Sep 2025 11:40:18 +0200 Subject: [PATCH 43/53] upgrade to DocSearch v4 GA --- package.json | 3 - .../package.json | 2 +- .../src/theme-search-algolia.d.ts | 3 + .../src/theme/SearchBar/index.tsx | 1 + yarn.lock | 109 ++++++++++-------- 5 files changed, 67 insertions(+), 51 deletions(-) diff --git a/package.json b/package.json index e3320a9547d8..0e9d63abf99c 100644 --- a/package.json +++ b/package.json @@ -129,8 +129,5 @@ "stylelint-config-standard": "^29.0.0", "typescript": "~5.8.2" }, - "resolutions": { - "@docsearch/react": "^4.0.0-beta.8" - }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index b69184087b03..ec2355bc88a5 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -33,7 +33,7 @@ "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch" }, "dependencies": { - "@docsearch/react": "^3.9.0 || ^4.0.0-beta.7 || ^4.0.0", + "@docsearch/react": "^3.9.0 || ^4.0.0", "@docusaurus/core": "3.8.1", "@docusaurus/logger": "3.8.1", "@docusaurus/plugin-content-docs": "3.8.1", diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index b7d51b0d6e8a..b5e8a26bc318 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -39,6 +39,9 @@ declare module '@docusaurus/theme-search-algolia' { }; export type ThemeConfigAlgolia = DocusaurusDocSearchProps & { + // TODO Docusaurus v4: upgrade to DocSearch v4, migrate indexName to indices + indexName: string; + // Docusaurus custom options, not coming from DocSearch contextualSearch: boolean; externalUrlRegex?: string; diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index edf6754c6f1c..11f38a8ae10b 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -61,6 +61,7 @@ type DocSearchProps = Omit< // extend DocSearchProps for v4 features // TODO Docusaurus v4: cleanup after we drop support for DocSearch v3 interface DocSearchV4Props extends DocSearchProps { + indexName: string; askAi?: ThemeConfigAlgolia['askAi']; translations?: DocSearchTranslations; } diff --git a/yarn.lock b/yarn.lock index a6c9505e26b0..b2bb321c13ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,41 +2,40 @@ # yarn lockfile v1 -"@ai-sdk/provider-utils@2.2.8": - version "2.2.8" - resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz#ad11b92d5a1763ab34ba7b5fc42494bfe08b76d1" - integrity sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA== +"@ai-sdk/gateway@1.0.23": + version "1.0.23" + resolved "https://registry.yarnpkg.com/@ai-sdk/gateway/-/gateway-1.0.23.tgz#284a7de5bf7c9e80ac68416f19cf3644d7bb2db6" + integrity sha512-ynV7WxpRK2zWLGkdOtrU2hW22mBVkEYVS3iMg1+ZGmAYSgzCqzC74bfOJZ2GU1UdcrFWUsFI9qAYjsPkd+AebA== dependencies: - "@ai-sdk/provider" "1.1.3" - nanoid "^3.3.8" - secure-json-parse "^2.7.0" + "@ai-sdk/provider" "2.0.0" + "@ai-sdk/provider-utils" "3.0.9" -"@ai-sdk/provider@1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-1.1.3.tgz#ebdda8077b8d2b3f290dcba32c45ad19b2704681" - integrity sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg== +"@ai-sdk/provider-utils@3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-3.0.9.tgz#ac35a11eaafb5943a6c1bb024b4d2fdda6a8a0a3" + integrity sha512-Pm571x5efqaI4hf9yW4KsVlDBDme8++UepZRnq+kqVBWWjgvGhQlzU8glaFq0YJEB9kkxZHbRRyVeHoV2sRYaQ== + dependencies: + "@ai-sdk/provider" "2.0.0" + "@standard-schema/spec" "^1.0.0" + eventsource-parser "^3.0.5" + +"@ai-sdk/provider@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-2.0.0.tgz#b853c739d523b33675bc74b6c506b2c690bc602b" + integrity sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA== dependencies: json-schema "^0.4.0" -"@ai-sdk/react@^1.2.12": - version "1.2.12" - resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-1.2.12.tgz#f4250b6df566b170af98a71d5708b52108dd0ce1" - integrity sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g== +"@ai-sdk/react@^2.0.30": + version "2.0.44" + resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-2.0.44.tgz#217c950cc71edfa7977d9c5031606464993236e1" + integrity sha512-+a1ZjpJA8pRfuFImypMAjGkivlwdITfUxOXSa3B73CB0YnW2WYVNECX4nC6JD9mWIq/NMurllAXwszpMO8hVuw== dependencies: - "@ai-sdk/provider-utils" "2.2.8" - "@ai-sdk/ui-utils" "1.2.11" + "@ai-sdk/provider-utils" "3.0.9" + ai "5.0.44" swr "^2.2.5" throttleit "2.1.0" -"@ai-sdk/ui-utils@1.2.11": - version "1.2.11" - resolved "https://registry.yarnpkg.com/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz#4f815589d08d8fef7292ade54ee5db5d09652603" - integrity sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w== - dependencies: - "@ai-sdk/provider" "1.1.3" - "@ai-sdk/provider-utils" "2.2.8" - zod-to-json-schema "^3.24.1" - "@algolia/abtesting@1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.3.0.tgz#3fade769bf5b03244baaee8034b83e2b49f8e86c" @@ -2078,19 +2077,20 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@4.0.0-beta.8": - version "4.0.0-beta.8" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0-beta.8.tgz#836ac7c3eeecf87cfc9c518210f4dfd27e49b05f" - integrity sha512-/ZlyvZCjIJM4aaOYoJpVNHPJckX7J5KIbt6IWjnZXvo0QAUI1aH976vKEJUC9olgUbE3LWafB8yuX4qoqahIQg== +"@docsearch/css@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0.tgz#0b1324e487204ade7e8eba9cb03e65a119618052" + integrity sha512-IH5bLEJCbrsHdWUswddMziv3ejGGpADuvnn6dpIXJC6aglZT3qIeQzZmEcENj3yz8VNLSXpIXlb7u1J1zT4iFw== -"@docsearch/react@^3.9.0 || ^4.0.0-beta.7 || ^4.0.0", "@docsearch/react@^4.0.0-beta.8": - version "4.0.0-beta.8" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0-beta.8.tgz#b3d75b42cf2b1b696317930d7b255c098df266ca" - integrity sha512-2gbk3SHUOKXDw0SfnblIpV3Z5pp4nANFg0oUB3kuheOfv5Wau0ZssIOAjEBTKmEzP5tO0Gljh5NL6t4SrXIhBg== +"@docsearch/react@^3.9.0 || ^4.0.0", "@docsearch/react@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0.tgz#b17dada4a1b5d5eab01cc72048e699e563b182d5" + integrity sha512-930rwFziMrtAvycvSGx+HtE/5DzZfxin/NhDH+UQiIjmAFxGFX1W19iXwrWAXooeINF3TXr9Zlv57tZDYZ231g== dependencies: - "@ai-sdk/react" "^1.2.12" + "@ai-sdk/react" "^2.0.30" "@algolia/autocomplete-core" "1.19.2" - "@docsearch/css" "4.0.0-beta.8" + "@docsearch/css" "4.0.0" + ai "^5.0.30" algoliasearch "^5.28.0" marked "^15.0.12" @@ -3113,6 +3113,11 @@ dependencies: "@octokit/openapi-types" "^18.0.0" +"@opentelemetry/api@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" + integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== + "@parcel/watcher@2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b" @@ -3511,6 +3516,11 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== +"@standard-schema/spec@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.0.0.tgz#f193b73dc316c4170f2e82a881da0f550d551b9c" + integrity sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA== + "@surma/rollup-plugin-off-main-thread@^2.2.3": version "2.2.3" resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053" @@ -5132,6 +5142,16 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" +ai@5.0.44, ai@^5.0.30: + version "5.0.44" + resolved "https://registry.yarnpkg.com/ai/-/ai-5.0.44.tgz#a4503c2fbcc54329a5e59381f0c144e91eb71311" + integrity sha512-l/rdoM4LcRpsRBVvZQBwSU73oNoFGlWj+PcH86QRzxDGJgZqgGItWO0QcKjBNcLDmUjGN1VYd/8J0TAXHJleRQ== + dependencies: + "@ai-sdk/gateway" "1.0.23" + "@ai-sdk/provider" "2.0.0" + "@ai-sdk/provider-utils" "3.0.9" + "@opentelemetry/api" "1.9.0" + ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -8697,6 +8717,11 @@ events@^3.2.0, events@^3.3.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +eventsource-parser@^3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/eventsource-parser/-/eventsource-parser-3.0.6.tgz#292e165e34cacbc936c3c92719ef326d4aeb4e90" + integrity sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg== + execa@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" @@ -13304,7 +13329,7 @@ mz@^2.4.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11, nanoid@^3.3.8: +nanoid@^3.3.11: version "3.3.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== @@ -16348,11 +16373,6 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" -secure-json-parse@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" - integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -19136,11 +19156,6 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== -zod-to-json-schema@^3.24.1: - version "3.24.6" - resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz#5920f020c4d2647edfbb954fa036082b92c9e12d" - integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg== - zod-validation-error@^3.0.3: version "3.4.0" resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" From b82fa25aa98bbc8066ee5674185fef1d6e7a7391 Mon Sep 17 00:00:00 2001 From: sebastien Date: Tue, 16 Sep 2025 12:27:51 +0200 Subject: [PATCH 44/53] upgrade Zod to fix website typechecking issue --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index 752a63d55061..42fd5389590f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19261,10 +19261,10 @@ zod-validation-error@^3.0.3: resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" integrity sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ== -zod@^3.22.4: - version "3.24.2" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.2.tgz#8efa74126287c675e92f46871cfc8d15c34372b3" - integrity sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ== +zod@3.25.76, zod@^3.22.4: + version "3.25.76" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.76.tgz#26841c3f6fd22a6a2760e7ccb719179768471e34" + integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" From b3ce80bc8bce10464026111616c0a51478c3d44c Mon Sep 17 00:00:00 2001 From: sebastien Date: Tue, 16 Sep 2025 13:07:43 +0200 Subject: [PATCH 45/53] try to fix TS skipLibCheck=false problem for TS 5.1 CI --- .github/workflows/tests-windows.yml | 5 +++-- .github/workflows/tests.yml | 5 +++-- package.json | 3 +++ yarn.lock | 4 ++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 119a7d4b7918..09bee6fc6cbb 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -56,12 +56,13 @@ jobs: run: yarn build:website:fast - name: TypeCheck website - # TODO temporary, remove TS skipLibCheck # see https://github.com/facebook/docusaurus/pull/10486 - run: yarn workspace website typecheck --project tsconfig.skipLibCheck.json + run: yarn workspace website typecheck - name: TypeCheck website - min version - v5.1 run: | yarn add typescript@5.1.6 --exact -D -W --ignore-scripts + # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) + jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv package.json.tmp package.json yarn workspace website typecheck - name: TypeCheck website - max version - Latest # For latest TS there are often lib check errors, so we disable it diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 129906513617..da1ddda68457 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -55,12 +55,13 @@ jobs: run: yarn workspace website test:css-order - name: TypeCheck website - # TODO temporary, remove TS skipLibCheck # see https://github.com/facebook/docusaurus/pull/10486 - run: yarn workspace website typecheck --project tsconfig.skipLibCheck.json + run: yarn workspace website typecheck - name: TypeCheck website - min version - v5.1 run: | yarn add typescript@5.1.6 --exact -D -W --ignore-scripts + # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) + jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv package.json.tmp package.json yarn workspace website typecheck - name: TypeCheck website - max version - Latest # For latest TS there are often lib check errors, so we disable it diff --git a/package.json b/package.json index 0e9d63abf99c..f0a56d2cc8e8 100644 --- a/package.json +++ b/package.json @@ -129,5 +129,8 @@ "stylelint-config-standard": "^29.0.0", "typescript": "~5.8.2" }, + "resolutions": { + "@docsearch/react": "^4.0.0" + }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/yarn.lock b/yarn.lock index 42fd5389590f..ad7e26e7430c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2082,7 +2082,7 @@ resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0.tgz#0b1324e487204ade7e8eba9cb03e65a119618052" integrity sha512-IH5bLEJCbrsHdWUswddMziv3ejGGpADuvnn6dpIXJC6aglZT3qIeQzZmEcENj3yz8VNLSXpIXlb7u1J1zT4iFw== -"@docsearch/react@^3.9.0 || ^4.0.0": +"@docsearch/react@^3.9.0 || ^4.0.0", "@docsearch/react@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0.tgz#b17dada4a1b5d5eab01cc72048e699e563b182d5" integrity sha512-930rwFziMrtAvycvSGx+HtE/5DzZfxin/NhDH+UQiIjmAFxGFX1W19iXwrWAXooeINF3TXr9Zlv57tZDYZ231g== @@ -19261,7 +19261,7 @@ zod-validation-error@^3.0.3: resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" integrity sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ== -zod@3.25.76, zod@^3.22.4: +zod@^3.22.4: version "3.25.76" resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.76.tgz#26841c3f6fd22a6a2760e7ccb719179768471e34" integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== From 1e1053b8cebd94149e6e628b328962458aa978cf Mon Sep 17 00:00:00 2001 From: sebastien Date: Tue, 16 Sep 2025 13:49:54 +0200 Subject: [PATCH 46/53] try to fix DocSearch problem with TS 5.1 CI checks --- .github/workflows/tests-windows.yml | 3 +++ .github/workflows/tests.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 09bee6fc6cbb..ebd4d918a147 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -61,8 +61,11 @@ jobs: - name: TypeCheck website - min version - v5.1 run: | yarn add typescript@5.1.6 --exact -D -W --ignore-scripts + # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv package.json.tmp package.json + yarn install + yarn workspace website typecheck - name: TypeCheck website - max version - Latest # For latest TS there are often lib check errors, so we disable it diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index da1ddda68457..01a1e6caf02e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -60,8 +60,11 @@ jobs: - name: TypeCheck website - min version - v5.1 run: | yarn add typescript@5.1.6 --exact -D -W --ignore-scripts + # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv package.json.tmp package.json + yarn install + yarn workspace website typecheck - name: TypeCheck website - max version - Latest # For latest TS there are often lib check errors, so we disable it From 1d23aeebc9350d328c1aaf0f27b568c768612074 Mon Sep 17 00:00:00 2001 From: sebastien Date: Tue, 16 Sep 2025 16:15:39 +0200 Subject: [PATCH 47/53] empty From 3920ce109e17a8473b5e4b39038c2ba728104be8 Mon Sep 17 00:00:00 2001 From: sebastien Date: Thu, 18 Sep 2025 14:55:58 +0200 Subject: [PATCH 48/53] Upgrade to 4.0.1 --- package.json | 2 +- yarn.lock | 40 +++++++++++++++++++++++----------------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index f0a56d2cc8e8..342345f82d26 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "typescript": "~5.8.2" }, "resolutions": { - "@docsearch/react": "^4.0.0" + "@docsearch/react": "^4.0.1" }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/yarn.lock b/yarn.lock index ad7e26e7430c..ed245c15b4a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -27,12 +27,12 @@ json-schema "^0.4.0" "@ai-sdk/react@^2.0.30": - version "2.0.44" - resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-2.0.44.tgz#217c950cc71edfa7977d9c5031606464993236e1" - integrity sha512-+a1ZjpJA8pRfuFImypMAjGkivlwdITfUxOXSa3B73CB0YnW2WYVNECX4nC6JD9mWIq/NMurllAXwszpMO8hVuw== + version "2.0.45" + resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-2.0.45.tgz#ea368c59e0e200e6506c8f82abefaf8cf52833f3" + integrity sha512-jrTeBQpIsueV6EB/L6KNdH/yadK/Ehx1qCus+9RC29kRikVhjgj8xNvHfH3qHCwsfGqLX9ljj69dCRLrmzpvnw== dependencies: "@ai-sdk/provider-utils" "3.0.9" - ai "5.0.44" + ai "5.0.45" swr "^2.2.5" throttleit "2.1.0" @@ -2077,22 +2077,23 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.0.tgz#0b1324e487204ade7e8eba9cb03e65a119618052" - integrity sha512-IH5bLEJCbrsHdWUswddMziv3ejGGpADuvnn6dpIXJC6aglZT3qIeQzZmEcENj3yz8VNLSXpIXlb7u1J1zT4iFw== +"@docsearch/css@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.1.tgz#970436628cf03ba816ed6e4269cc866e9853bb0d" + integrity sha512-ouRI2SEwAg8qBqX4S3zfm4OJ/07o9Is7TzivNGkqP7FtYU4W0qgigumWkPbYvDwtG0koZw2ZebpcQiEpkCyv+g== -"@docsearch/react@^3.9.0 || ^4.0.0", "@docsearch/react@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.0.tgz#b17dada4a1b5d5eab01cc72048e699e563b182d5" - integrity sha512-930rwFziMrtAvycvSGx+HtE/5DzZfxin/NhDH+UQiIjmAFxGFX1W19iXwrWAXooeINF3TXr9Zlv57tZDYZ231g== +"@docsearch/react@^3.9.0 || ^4.0.0", "@docsearch/react@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.1.tgz#337bc73a00e20036aa989af4c00869104195d672" + integrity sha512-X/0mSdAt2/8el0sTBpSQJM8XKRlCLmITaWYZf9gLLqiN3eXdglOtt3cH7RjTQDS75REwmhadKzQIjFF8mbmf+A== dependencies: "@ai-sdk/react" "^2.0.30" "@algolia/autocomplete-core" "1.19.2" - "@docsearch/css" "4.0.0" + "@docsearch/css" "4.0.1" ai "^5.0.30" algoliasearch "^5.28.0" marked "^15.0.12" + zod "^4.1.8" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -5193,10 +5194,10 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ai@5.0.44, ai@^5.0.30: - version "5.0.44" - resolved "https://registry.yarnpkg.com/ai/-/ai-5.0.44.tgz#a4503c2fbcc54329a5e59381f0c144e91eb71311" - integrity sha512-l/rdoM4LcRpsRBVvZQBwSU73oNoFGlWj+PcH86QRzxDGJgZqgGItWO0QcKjBNcLDmUjGN1VYd/8J0TAXHJleRQ== +ai@5.0.45, ai@^5.0.30: + version "5.0.45" + resolved "https://registry.yarnpkg.com/ai/-/ai-5.0.45.tgz#0e1472883914d2a031b1317cf53cc74891168a88" + integrity sha512-go6J78B1oTXZMN2XLlNJnrFxwcqXQtpPqUVyk1wvzvpb2dk5nP9yNuxqqOX9HrrKuf5U9M6rSezEJWr1eEG9RA== dependencies: "@ai-sdk/gateway" "1.0.23" "@ai-sdk/provider" "2.0.0" @@ -19266,6 +19267,11 @@ zod@^3.22.4: resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.76.tgz#26841c3f6fd22a6a2760e7ccb719179768471e34" integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== +zod@^4.1.8: + version "4.1.9" + resolved "https://registry.yarnpkg.com/zod/-/zod-4.1.9.tgz#c03a0ddb10f5578f13f8f70f1959f89fd09c1c06" + integrity sha512-HI32jTq0AUAC125z30E8bQNz0RQ+9Uc+4J7V97gLYjZVKRjeydPgGt6dvQzFrav7MYOUGFqqOGiHpA/fdbd0cQ== + zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" From f2895d6ee4d7d31c3a6d5f57ef6f45574ff74a4d Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 19 Sep 2025 13:12:51 +0200 Subject: [PATCH 49/53] try to fix CI issue --- .github/workflows/tests-windows.yml | 3 ++- .github/workflows/tests.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index ebd4d918a147..1df7cc843cc3 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -63,7 +63,8 @@ jobs: yarn add typescript@5.1.6 --exact -D -W --ignore-scripts # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) - jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv package.json.tmp package.json + jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv -f package.json.tmp package.json + yarn clear yarn install yarn workspace website typecheck diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 01a1e6caf02e..1ad7d54dbbbe 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -62,7 +62,8 @@ jobs: yarn add typescript@5.1.6 --exact -D -W --ignore-scripts # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) - jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv package.json.tmp package.json + jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv -f package.json.tmp package.json + yarn clear yarn install yarn workspace website typecheck From cb60babd48c62f0f87260ee34cf3810ec1f752a8 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 19 Sep 2025 13:24:28 +0200 Subject: [PATCH 50/53] try to fix CI issue --- .github/workflows/tests-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 1df7cc843cc3..718a267cfe79 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -63,7 +63,7 @@ jobs: yarn add typescript@5.1.6 --exact -D -W --ignore-scripts # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) - jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv -f package.json.tmp package.json + jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv -Force package.json.tmp package.json yarn clear yarn install From 895764306e0506c7130725687a290a361367cba7 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 19 Sep 2025 13:33:55 +0200 Subject: [PATCH 51/53] try to fix the CI issues --- .github/workflows/tests-windows.yml | 3 +-- .github/workflows/tests.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 718a267cfe79..411ee27918d0 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -64,8 +64,7 @@ jobs: # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv -Force package.json.tmp package.json - yarn clear - yarn install + yarn add @docsearch/react@^3.9.0 --exact -D -W --ignore-scripts yarn workspace website typecheck - name: TypeCheck website - max version - Latest diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1ad7d54dbbbe..29aef870cc90 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -63,8 +63,7 @@ jobs: # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv -f package.json.tmp package.json - yarn clear - yarn install + yarn add @docsearch/react@^3.9.0 --exact -D -W --ignore-scripts yarn workspace website typecheck - name: TypeCheck website - max version - Latest From 9efee55bbbea1e7c2a994608a9fd4035887f3022 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 19 Sep 2025 13:48:17 +0200 Subject: [PATCH 52/53] revert to DocSearch v3 by default (for now) --- packages/docusaurus-theme-search-algolia/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index ce3a7dc85bd3..25362274ab76 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -33,7 +33,7 @@ "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch" }, "dependencies": { - "@docsearch/react": "^3.9.0 || ^4.0.0", + "@docsearch/react": "^3.9.0", "@docusaurus/core": "3.8.1", "@docusaurus/logger": "3.8.1", "@docusaurus/plugin-content-docs": "3.8.1", From 8fe7dfc9041d589d536b757fd493170bb1606ea5 Mon Sep 17 00:00:00 2001 From: sebastien Date: Fri, 19 Sep 2025 13:48:46 +0200 Subject: [PATCH 53/53] lockfile --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 2da3b4a6b3a1..b02878f9cd05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2082,7 +2082,7 @@ resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.1.tgz#970436628cf03ba816ed6e4269cc866e9853bb0d" integrity sha512-ouRI2SEwAg8qBqX4S3zfm4OJ/07o9Is7TzivNGkqP7FtYU4W0qgigumWkPbYvDwtG0koZw2ZebpcQiEpkCyv+g== -"@docsearch/react@^3.9.0 || ^4.0.0", "@docsearch/react@^4.0.1": +"@docsearch/react@^3.9.0", "@docsearch/react@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.1.tgz#337bc73a00e20036aa989af4c00869104195d672" integrity sha512-X/0mSdAt2/8el0sTBpSQJM8XKRlCLmITaWYZf9gLLqiN3eXdglOtt3cH7RjTQDS75REwmhadKzQIjFF8mbmf+A==