diff --git a/packages/docusaurus-theme-classic/src/theme/NavbarItem/DropdownNavbarItem/Desktop/index.tsx b/packages/docusaurus-theme-classic/src/theme/NavbarItem/DropdownNavbarItem/Desktop/index.tsx index 0ecc3b9fc6a1..4ecf04338998 100644 --- a/packages/docusaurus-theme-classic/src/theme/NavbarItem/DropdownNavbarItem/Desktop/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/NavbarItem/DropdownNavbarItem/Desktop/index.tsx @@ -64,7 +64,7 @@ export default function DropdownNavbarItemDesktop({ {...props} onClick={props.to ? undefined : (e) => e.preventDefault()} onKeyDown={(e) => { - if (e.key === 'Enter') { + if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); setShowDropdown(!showDropdown); } 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 103153260bc8..cf681939b143 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -312,9 +312,15 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { ); } -export default function SearchBar(): ReactNode { +export default function SearchBar(props: Partial): ReactNode { const {siteConfig} = useDocusaurusContext(); - return ( - - ); + + const docSearchProps: DocSearchV4Props = { + ...(siteConfig.themeConfig.algolia as DocSearchV4Props), + // Let props override theme config + // See https://github.com/facebook/docusaurus/pull/11581 + ...props, + }; + + return ; } diff --git a/packages/docusaurus/src/commands/utils/openBrowser/openBrowser.ts b/packages/docusaurus/src/commands/utils/openBrowser/openBrowser.ts index 2c4d2789a62d..0660005a739c 100644 --- a/packages/docusaurus/src/commands/utils/openBrowser/openBrowser.ts +++ b/packages/docusaurus/src/commands/utils/openBrowser/openBrowser.ts @@ -95,6 +95,9 @@ async function tryOpenWithAppleScript({ ); } + // Test this manually with: + // osascript ./packages/docusaurus/src/commands/utils/openBrowser/openChrome.applescript "http://localhost:8080" "Google Chrome" + // osascript ./packages/docusaurus/src/commands/utils/openBrowser/openChrome.applescript "http://localhost:8080" "Arc" async function tryBrowser(browserName: string): Promise { try { // This command runs the openChrome.applescript (copied from CRA) diff --git a/packages/docusaurus/src/commands/utils/openBrowser/openChrome.applescript b/packages/docusaurus/src/commands/utils/openBrowser/openChrome.applescript index c1efba159853..6d8e9a85ef54 100644 --- a/packages/docusaurus/src/commands/utils/openBrowser/openChrome.applescript +++ b/packages/docusaurus/src/commands/utils/openBrowser/openChrome.applescript @@ -19,6 +19,16 @@ on run argv set theProgram to item 2 of argv end if + -- Arc: simple open + activate, no tab reuse + -- See https://github.com/facebook/docusaurus/issues/11582 + if theProgram is "Arc" then + tell application "Arc" + activate + open location theURL + end tell + return + end if + using terms from application "Google Chrome" tell application theProgram diff --git a/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.d.ts b/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.d.ts new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.test.js b/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.test.js new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.test.jsx b/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.test.jsx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.test.ts b/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.test.ts new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.test.tsx b/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/SiblingNavbarItem.test.tsx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/__tests__/index.js b/packages/docusaurus/src/webpack/aliases/__tests__/__fixtures__/theme-2/NavbarItem/__tests__/index.js new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/docusaurus/src/webpack/aliases/index.ts b/packages/docusaurus/src/webpack/aliases/index.ts index dbade3a77e36..03e14426b04d 100644 --- a/packages/docusaurus/src/webpack/aliases/index.ts +++ b/packages/docusaurus/src/webpack/aliases/index.ts @@ -53,6 +53,13 @@ export async function createAliasesForTheme( const themeComponentFiles = await Globby(['**/*.{js,jsx,ts,tsx}'], { cwd: themePath, + ignore: [ + // Ignore co-located test files + '**/__tests__/**', + '**/*.test.{js,jsx,ts,tsx}', + // Ignore type declaration files + '**/*.d.ts', + ], }); const aliases: ThemeAliases = {}; diff --git a/packages/eslint-plugin/src/rules/no-untranslated-text.ts b/packages/eslint-plugin/src/rules/no-untranslated-text.ts index cdf416069a94..a43042519397 100644 --- a/packages/eslint-plugin/src/rules/no-untranslated-text.ts +++ b/packages/eslint-plugin/src/rules/no-untranslated-text.ts @@ -30,6 +30,9 @@ export default createRule({ properties: { ignoredStrings: { type: 'array', + items: { + type: 'string', + }, }, }, additionalProperties: false,