Standardize create-flow option steps on one question-and-options layout and Selection sizes.
Method cards, chips, and the right rail now share the two-column shell; last options clear the footer fade, See all stays under the stack, and the left heading no longer jumps when the list expands. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
2fc7fbf818
commit
24a9615c0c
26 files changed
+354
-245
No files matched your search
@@ -2,11 +2,22 @@
|
||||
|
||||
import { memo } from "react";
|
||||
import { SelectionView } from "./Selection.view";
|
||||
import type { SelectionProps } from "./Selection.types";
|
||||
import type { SelectionProps, SelectionSizeValue } from "./Selection.types";
|
||||
|
||||
function resolveSelectionSize(
|
||||
size: SelectionProps["size"],
|
||||
orientation: SelectionProps["orientation"],
|
||||
): SelectionSizeValue {
|
||||
if (size) return size;
|
||||
if (orientation === "vertical") return "l";
|
||||
return "m";
|
||||
}
|
||||
|
||||
/**
|
||||
* Figma: "Card / CardSelection" — stacked tile e.g. `16775:28762` (recommended + label + supportText).
|
||||
* `orientation="horizontal"` selects that vertical stack; `"vertical"` is label + tag on the right (CardStack `singleStack` / right-rail). Helper `?` stays off until tooltip behavior ships.
|
||||
* Size `s` is Control / Chip; `m` is the compact tile (`orientation="horizontal"`); `l` is the
|
||||
* full-width row (`orientation="vertical"`, CardStack `singleStack` / right-rail). Helper `?`
|
||||
* stays off until tooltip behavior ships.
|
||||
*/
|
||||
const SelectionContainer = memo<SelectionProps>(
|
||||
({
|
||||
@@ -14,12 +25,15 @@ const SelectionContainer = memo<SelectionProps>(
|
||||
supportText = "",
|
||||
recommended = false,
|
||||
selected = false,
|
||||
orientation = "horizontal",
|
||||
size: sizeProp,
|
||||
orientation,
|
||||
showInfoIcon = false,
|
||||
id,
|
||||
className = "",
|
||||
onClick,
|
||||
}) => {
|
||||
const size = resolveSelectionSize(sizeProp, orientation);
|
||||
|
||||
const handleClick = () => {
|
||||
if (onClick) onClick();
|
||||
};
|
||||
@@ -37,7 +51,7 @@ const SelectionContainer = memo<SelectionProps>(
|
||||
supportText={supportText}
|
||||
recommended={recommended}
|
||||
selected={selected}
|
||||
orientation={orientation}
|
||||
size={size}
|
||||
showInfoIcon={showInfoIcon}
|
||||
id={id}
|
||||
className={className}
|
||||
|
||||
Reference in new issue
Block a user