mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Complete the stalled review pass: drop the unused useMemo import (rows flatten inline), add SearchBlock to the ui-primitives README (both languages) with a Search results section, and re-record the doc pairings. Search card behavior and tests unchanged (313 pass).
121 lines
2.8 KiB
CSS
121 lines
2.8 KiB
CSS
/* Geometry mirrors CodeBlock and TerminalBlock (12px radius, code-block
|
|
surface + banner row, markdown code-block font) so a search card reads as one
|
|
family with them. The deliberate divergence they share: the result rows keep
|
|
`white-space: pre` and scroll horizontally, because folding a long match line
|
|
or path destroys the alignment a reader scans by. */
|
|
|
|
.block {
|
|
--dsl-search-radius: 12px;
|
|
--dsl-search-line-height: 22px;
|
|
|
|
position: relative;
|
|
margin: 16px 0;
|
|
color: var(--dsw-alias-label-primary);
|
|
background: var(--dsw-alias-markdown-code-block);
|
|
border-radius: var(--dsl-search-radius);
|
|
}
|
|
|
|
/* The banner: result summary on the left, the copy control holding its
|
|
intrinsic width on the right. */
|
|
.header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 9px 14px;
|
|
background: var(--dsw-alias-markdown-code-block-banner);
|
|
border-top-left-radius: var(--dsl-search-radius);
|
|
border-top-right-radius: var(--dsl-search-radius);
|
|
}
|
|
|
|
.summary {
|
|
flex: 1;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
font: var(--dsw-font-xs-13);
|
|
color: var(--dsw-alias-label-secondary);
|
|
}
|
|
|
|
.copyButton {
|
|
flex: none;
|
|
background-color: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
color: var(--dsw-alias-label-secondary);
|
|
cursor: pointer;
|
|
font: var(--dsw-font-xs-13);
|
|
}
|
|
|
|
.body {
|
|
padding: 8px 14px 12px 0;
|
|
font: var(--dsw-font-markdown-code-block);
|
|
overflow-x: auto;
|
|
overflow-y: hidden;
|
|
}
|
|
|
|
/* No wrapping: a match line or a path keeps its content on one row and scrolls
|
|
sideways instead of folding. */
|
|
.line {
|
|
min-height: var(--dsl-search-line-height);
|
|
padding-left: 14px;
|
|
white-space: pre;
|
|
}
|
|
|
|
/* The 1-based line number ahead of a grep match line, dimmed so the match text
|
|
stays the salient content. */
|
|
.lineNumber {
|
|
color: var(--dsw-alias-label-tertiary);
|
|
}
|
|
|
|
/* A file group's header: a bold path label plus its match count, the whole row
|
|
the collapse control. */
|
|
.fileHeader {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 8px;
|
|
width: 100%;
|
|
min-height: var(--dsl-search-line-height);
|
|
padding: 0 14px;
|
|
border: none;
|
|
background-color: transparent;
|
|
cursor: pointer;
|
|
font: inherit;
|
|
text-align: left;
|
|
}
|
|
|
|
.filePath {
|
|
min-width: 0;
|
|
font-weight: 600;
|
|
color: var(--dsw-alias-label-primary);
|
|
white-space: pre;
|
|
}
|
|
|
|
.fileCount {
|
|
flex: none;
|
|
color: var(--dsw-alias-label-tertiary);
|
|
}
|
|
|
|
.expand {
|
|
display: block;
|
|
width: 100%;
|
|
padding: 0 14px;
|
|
border: none;
|
|
background-color: transparent;
|
|
color: var(--dsw-alias-label-tertiary);
|
|
cursor: pointer;
|
|
font: inherit;
|
|
text-align: left;
|
|
}
|
|
|
|
.expand:hover {
|
|
color: var(--dsw-alias-label-secondary);
|
|
}
|
|
|
|
.empty {
|
|
padding: 12px 14px;
|
|
font: var(--dsw-font-markdown-code-block);
|
|
color: var(--dsw-alias-label-tertiary);
|
|
}
|