Skip to content

Commit 33c02df

Browse files
refactor(button): replace SVG icons with text characters for keyboard shortcuts (#2823)
1 parent f9ba0a0 commit 33c02df

File tree

4 files changed

+14
-44
lines changed

4 files changed

+14
-44
lines changed

packages/docsearch-css/src/button.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
position: relative;
6060
border: 0;
6161
font-size: 14px;
62+
font-family: system-ui, -apple-system, sans-serif;
6263
transition-property: all;
6364
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
6465
transition-duration: 100ms;

packages/docsearch-css/src/sidepanel.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,14 @@ html[data-theme='dark'] {
193193
opacity: 1;
194194
}
195195

196+
/* Ensure open state always overrides side-specific transforms even if CSS gets reordered during bundling/minification. */
197+
.DocSearch-Sidepanel-Container.floating.side-right.is-open,
198+
.DocSearch-Sidepanel-Container.floating.side-left.is-open,
199+
.DocSearch-Sidepanel-Container.inline.side-right.is-open,
200+
.DocSearch-Sidepanel-Container.inline.side-left.is-open {
201+
transform: none;
202+
}
203+
196204
.DocSearch-Sidepanel-Container.side-right.is-open {
197205
transform: none;
198206
}

packages/docsearch-react/src/DocSearchButton.tsx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { useTheme } from '@docsearch/core/useTheme';
33
import React, { useEffect, useState, type JSX } from 'react';
44

55
import { getKeyboardShortcuts } from './constants/keyboardShortcuts';
6-
import { ControlKeyIcon, KKeyIcon, MetaKeyIcon } from './icons/MetaKeysIcon';
76
import { SearchIcon } from './icons/SearchIcon';
87
import type { DocSearchTheme } from './types';
98
import { ACTION_KEY_APPLE, ACTION_KEY_DEFAULT, isAppleDevice } from './utils';
@@ -32,12 +31,10 @@ export const DocSearchButton = React.forwardRef<HTMLButtonElement, DocSearchButt
3231
}
3332
}, []);
3433

35-
const [actionKeyReactsTo, actionKeyAltText, actionKeyChild] =
34+
const [actionKeyReactsTo, actionKeyAltText, actionKeyLabel] =
3635
key === ACTION_KEY_DEFAULT
37-
? // eslint-disable-next-line react/jsx-key -- false flag
38-
([ACTION_KEY_DEFAULT, 'Control', <ControlKeyIcon />] as const)
39-
: // eslint-disable-next-line react/jsx-key -- false flag
40-
(['Meta', 'Meta', <MetaKeyIcon />] as const);
36+
? ([ACTION_KEY_DEFAULT, 'Control', 'Ctrl'] as const)
37+
: (['Meta', 'Meta', '⌘'] as const);
4138

4239
const isCtrlCmdKEnabled = resolvedShortcuts['Ctrl/Cmd+K'];
4340
const shortcut = `${actionKeyAltText}+k`;
@@ -59,10 +56,8 @@ export const DocSearchButton = React.forwardRef<HTMLButtonElement, DocSearchButt
5956
<span className="DocSearch-Button-Keys">
6057
{key !== null && isCtrlCmdKEnabled && (
6158
<>
62-
<DocSearchButtonKey reactsToKey={actionKeyReactsTo}>{actionKeyChild}</DocSearchButtonKey>
63-
<DocSearchButtonKey reactsToKey="k">
64-
<KKeyIcon />
65-
</DocSearchButtonKey>
59+
<DocSearchButtonKey reactsToKey={actionKeyReactsTo}>{actionKeyLabel}</DocSearchButtonKey>
60+
<DocSearchButtonKey reactsToKey="k">K</DocSearchButtonKey>
6661
</>
6762
)}
6863
</span>

packages/docsearch-react/src/icons/MetaKeysIcon.tsx

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)