import * as React from 'react'; /** * A stacked label/value pair. * * Ported from Figma `Section Information` (834:6978) in the Multi product demo file — the design * authority for GTM-990, and the file the components library holds only a remote reference to. 42px * tall with a 4px gap between the two lines. * * **NOT `MetricList`**, which is the nearest existing thing and the wrong shape. That lays label and * value out horizontally with a divider that flips orientation responsively and an uppercase eyebrow * per group, for reporting measurements. This is a vertical pair inside an information panel. The two * disagree on axis, on divider, on typography and on grouping, so sharing one component would mean a * prop that switches all four. */ declare const infoRowStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** * Ink only — the typography role comes from ``. * * That split is the house pattern (`MetricList` does the same) and it matters twice: hand-writing the * four role utilities here would duplicate `typographyVariants`' table and drift from it, and it * would put `text-size-*` into this cva's output, where `colorTokensIn` has to work to ignore it. * Conflating a font size with an ink is what made Badge's first contrast assertion vacuous. * * Figma paints the label `color/gray/gray-300` #9aa0b4, which is **7.43:1 on the page** and a clean * revert. * * IT WAS `--color-text-tertiary` (#a5b0c4), AND RULE 3 IS WHAT RETIRED THAT. The reasoning was: the * hex "measures 2.61:1 against the light surface — below WCAG 1.4.3's 4.5:1 for small text. The file * is authored dark-only, so its palette is unverified in light and copying the hex across would ship * a failure the source never had to face." There is no light surface. The substitution was pre-paying * for a theme that does not exist, and it rendered one ramp step brighter than Figma draws. * * `--color-text-subtle-figma` is the shared role for this literal — fifteen atoms bind gray-300 for * the same subordinate-text job, which is why it is not per-atom. */ declare const infoRowLabelStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; /** * Figma's `color/brand/white` is **1.00:1** on a white page. `--color-text-primary` inverts per theme * and measures 19.37:1 light / 17.85:1 dark. */ declare const infoRowValueStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string; export { infoRowStyles, infoRowLabelStyles, infoRowValueStyles }; export interface InfoRowProps extends React.ComponentPropsWithoutRef<'div'> { /** The quiet upper line. */ label: React.ReactNode; /** * The value. * * Omit it for Figma's label-only variant (`Property 1=false`), which renders no second element at * all. Pass `null` to show `emptyValue` instead. The distinction is deliberate: "this row has no * second line" and "we do not know this value yet" are different statements, and collapsing them * either breaks the row rhythm or hides a real gap in the data. * * `0` and `''` are real values and render as themselves. */ value?: React.ReactNode; /** * Shown when `value` is explicitly `null` or `undefined`-but-present. * @default '—' */ emptyValue?: string; } /** * @example * @example * @example */ export declare const InfoRow: React.ForwardRefExoticComponent>; //# sourceMappingURL=info-row.d.ts.map