Файли
openidea/src/ui/Input.module.css
T
l0ng-ai 1e00ea5ee2 feat: Third pass aligning core experience with IntelliJ IDEA
Project & files
- Project view modes (Project Files / Open Files / All Changed Files /
  Scratches); External Libraries for Python, JDK (src.zip), Node, Cargo, Go,
  Maven/Gradle jars; read-only jar/zip browsing
- ⌘N New popup with type search and more file kinds; New Project, Rename
  Project, Reload All from Disk, Export/Import Settings, Power Save Mode
- File type associations, extra content roots and exclude patterns (indexed
  and watched without reopening the project)

Editor & navigation
- Find bar: search scope (comments/strings), Preserve Case, Exclude, multiline,
  history; Find in Files: Module scope, custom pattern scopes, multiline
- Search Everywhere filters, Assign Shortcut, settings results; named bookmark
  lists, file/folder bookmarks; Structure filters and Show Inherited; Recent
  Locations timestamps and breadcrumbs; Code Vision author
- Completion options, editor tab placement/layout, inline completion (LSP 3.18)
- Spell checking (Typo inspection, ide-spell) and Inspections settings with
  custom profiles; Code Style schemes, formatter markers, Do not format

Run, VCS, services, database
- Typed run configurations (Shell, Program, npm, Gradle, Maven, Docker,
  Compound), Modify options, Before launch, env dialog, Current File,
  Emulate terminal (PTY)
- Git log graph/view options, Go to Hash/Branch/Tag, date filter keeps the
  graph; Pull/Merge/Rebase dialogs, Manage Remotes, Worktrees
- Generic Services host (Docker connections/registries, run sessions); TODO
  scope/changes tabs with changelists; Coverage report import
- Data sources: wire-compatible vendors, URL import, SSL certs, Options,
  Schemas and Advanced tabs, color and comment

Workbench
- Run Anything, Customize Main Toolbar, named tool window layouts, menu
  completeness, Code Cleanup, macros, "Don't Show Again", editor banners
- Chinese translations for the new UI

Claude-Session: https://claude.ai/code/session_01SaPPsVPuk6ZTNsoUCNCbMv
2026-10-25 21:24:00 +08:00

134 рядки
2.7 KiB
CSS

/* TextField / SearchField: Component.arc 8 (radius 4), 28px, accent border + ring when focused. */
.input {
height: var(--h-field, 28px);
min-width: 0;
padding: 0 8px;
/* No UA frame (WebKit draws one for native text fields); the frame is the box-shadow below. */
appearance: none;
border: 0;
background: var(--bg-input);
color: var(--fg-strong);
font-size: var(--fs-ui);
outline: none;
-webkit-user-select: text;
user-select: text;
}
.input::placeholder,
.searchInput::placeholder {
color: var(--fg-faint);
}
.mono {
font-family: var(--font-mono);
}
.framed {
border-radius: var(--radius-control, 4px);
background: var(--bg-field, var(--bg-button));
box-shadow: inset 0 0 0 1px var(--border-button);
transition: box-shadow var(--dur-fast) var(--ease);
}
.framed:focus,
.framed:focus-within {
box-shadow:
inset 0 0 0 1px var(--focus-ring),
0 0 0 1px var(--focus-ring);
}
.framed:disabled {
background: transparent;
color: var(--fg-faint);
box-shadow: inset 0 0 0 1px var(--border);
}
.bare {
border: 0;
padding: 0;
background: none;
}
.input[aria-invalid="true"].framed,
.invalid.framed {
box-shadow:
inset 0 0 0 1px var(--danger),
0 0 0 1px var(--danger);
}
.searchField {
display: flex;
align-items: center;
gap: 2px;
height: var(--h-field, 28px);
min-width: 0;
padding: 0 4px 0 8px;
}
.leading {
color: var(--fg-muted);
margin-right: 4px;
}
.searchInput {
flex: 1;
min-width: 0;
height: 100%;
appearance: none;
border: 0;
outline: none;
background: none;
color: var(--fg-strong);
font-size: var(--fs-ui);
-webkit-user-select: text;
user-select: text;
}
.input:focus-visible,
.searchInput:focus-visible {
/* The frame's focus ring stands in for the global :focus-visible outline. */
outline: none;
}
.multiline {
height: auto;
align-items: flex-start;
padding-block: 4px;
}
.multiline .leading {
margin-top: 3px;
}
.searchArea {
resize: none;
font-family: inherit;
line-height: 20px;
padding: 0;
}
/* A multi-line capable field holding one line looks like a text input. */
.searchAreaSingle {
height: 20px;
overflow: hidden;
}
.leading:is(button) {
margin-right: 2px;
margin-left: -4px;
}
.invalid .searchInput {
color: var(--danger);
}
.large {
height: 38px;
padding: 0 8px 0 12px;
gap: 6px;
}
.large .searchInput {
font-size: var(--fs-input-large);
color: var(--fg-strong);
}
@media (prefers-reduced-motion: reduce) {
.framed {
transition: none;
}
}
/* Box-shadow frames vanish in forced-colors (high contrast) mode. */
@media (forced-colors: active) {
.framed {
border: 1px solid FieldText;
}
.framed:focus,
.framed:focus-within {
outline: 2px solid Highlight;
}
}