fix(design): the saved-view chip on one line, one Escape per layer, the /watch action row (E28 S3d)
- SelectTrigger lays its toolbar value out as a row; the saved-view chip passes its glyph and modified dot through the icon/trailing slots (an <svg> is display:block and broke the chip in two). - One Escape in a dialog's open list closed the list AND the dialog: the list's close flushes synchronously and pops its layer before the dialog's window listener runs. takeEscape() is the one close-on-Escape test (topmost AND not yet taken); Modal, the Welcome lightbox and useLayer use it, and keymap.dispatch ignores a taken Escape. - /watch: the Download sits on the toolbar rung, level with the Repeat chip.
This commit is contained in:
@@ -39,7 +39,17 @@ export const SelectTrigger = forwardRef<
|
||||
>
|
||||
{icon}
|
||||
{label != null && <span className="text-muted">{label}:</span>}
|
||||
<span className={clsx("text-fg", context === "form" && "flex-1 truncate")}>{children}</span>
|
||||
{/* The toolbar value is a row, whatever the caller puts in it: an <svg> is display:block under the
|
||||
preflight, and in a plain span it broke the value onto its own line (the saved-view chip,
|
||||
E28). The form value is text that truncates, which a flex box would not do. */}
|
||||
<span
|
||||
className={clsx(
|
||||
"text-fg",
|
||||
context === "form" ? "flex-1 truncate" : "flex min-w-0 items-center gap-1.5",
|
||||
)}
|
||||
>
|
||||
{children}
|
||||
</span>
|
||||
{trailing}
|
||||
<ChevronDown
|
||||
aria-hidden="true"
|
||||
|
||||
Reference in New Issue
Block a user