diff options
| author | David Hill <[email protected]> | 2026-01-24 22:17:59 +0000 |
|---|---|---|
| committer | David Hill <[email protected]> | 2026-01-24 22:17:59 +0000 |
| commit | 30111d2b16ba61b0a5c3996426ef1faa59971fe1 (patch) | |
| tree | 628810504f989c9b0e134b6bf55669abaecf2d90 | |
| parent | b695216063e1e36bf8d205234835a68fc53a73ae (diff) | |
| download | opencode-30111d2b16ba61b0a5c3996426ef1faa59971fe1.tar.gz opencode-30111d2b16ba61b0a5c3996426ef1faa59971fe1.zip | |
fix(ui): prevent focus on share popover text field
| -rw-r--r-- | packages/app/src/components/session/session-header.tsx | 4 | ||||
| -rw-r--r-- | packages/ui/src/components/text-field.css | 2 | ||||
| -rw-r--r-- | packages/ui/src/components/text-field.tsx | 1 |
3 files changed, 4 insertions, 3 deletions
diff --git a/packages/app/src/components/session/session-header.tsx b/packages/app/src/components/session/session-header.tsx index 0ea9be2d3..808fbb112 100644 --- a/packages/app/src/components/session/session-header.tsx +++ b/packages/app/src/components/session/session-header.tsx @@ -195,8 +195,8 @@ export function SessionHeader() { </div> } > - <div class="flex flex-col gap-2 w-72"> - <TextField value={shareUrl() ?? ""} readOnly copyable class="w-full" /> + <div class="flex flex-col gap-2"> + <TextField value={shareUrl() ?? ""} readOnly copyable tabIndex={-1} class="w-full" /> <div class="grid grid-cols-2 gap-2"> <Button size="large" diff --git a/packages/ui/src/components/text-field.css b/packages/ui/src/components/text-field.css index 15f5fd4fb..c94376be7 100644 --- a/packages/ui/src/components/text-field.css +++ b/packages/ui/src/components/text-field.css @@ -51,7 +51,7 @@ border: 1px solid var(--border-weak-base); background: var(--input-base); - &:focus-within { + &:focus-within:not(:has([data-readonly])) { border-color: transparent; /* border/shadow-xs/select */ box-shadow: diff --git a/packages/ui/src/components/text-field.tsx b/packages/ui/src/components/text-field.tsx index 2e9f72374..58155e8d9 100644 --- a/packages/ui/src/components/text-field.tsx +++ b/packages/ui/src/components/text-field.tsx @@ -102,6 +102,7 @@ export function TextField(props: TextFieldProps) { icon={copied() ? "check" : "link"} variant="ghost" onClick={handleCopy} + tabIndex={-1} data-slot="input-copy-button" aria-label={copied() ? i18n.t("ui.textField.copied") : i18n.t("ui.textField.copyToClipboard")} /> |
