ds-smart-ui
Version:
Smart UI v1.0.5 — A production-ready React component library by PT Praisindo Teknologi. Covers inputs, navigation, data display, feedback, and layout with a unified design system, semantic Typography tokens, and full Storybook documentation.
40 lines (39 loc) • 2 kB
TypeScript
import { ReactNode, CSSProperties } from 'react';
export type TypographyWeight = "regular" | "medium" | "bold";
type HeadingVariant = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
type BodyVariant = "body-lg" | "body-md" | "body-sm" | "body-xs" | "body-2xs";
type ParagraphVariant = "p1" | "p2" | "p3";
type CanonicalVariant = HeadingVariant | BodyVariant | ParagraphVariant | "overline";
/** @deprecated Use `body-lg` instead */
type LegacyBodyVariant = "b16" | "b14" | "b12" | "b10" | "b8";
type LegacyCompoundBase = HeadingVariant | LegacyBodyVariant | ParagraphVariant | BodyVariant | "overline";
/** @deprecated Use the `weight` prop instead of compound strings like `b14Medium` */
type LegacyCompoundVariant = `${LegacyCompoundBase}${"Medium" | "Bold"}`;
export type TypographyVariant = CanonicalVariant | LegacyBodyVariant | LegacyCompoundVariant;
interface TypographyProps {
/**
* Typography scale token.
* Canonical: `h1`–`h6`, `body-lg`, `body-md`, `body-sm`, `body-xs`, `body-2xs`, `p1`–`p3`, `overline`.
* Legacy names (`b16`, `b14Medium`, etc.) still work but print a deprecation warning in dev.
*/
variant?: CanonicalVariant | string;
/** Font weight. Replaces the deprecated compound-suffix pattern (e.g. `b14Medium`). */
weight?: TypographyWeight;
children: ReactNode;
className?: string;
color?: string;
underline?: boolean;
italic?: boolean;
lineThrough?: boolean;
style?: CSSProperties;
align?: "left" | "center" | "right";
id?: string;
[key: string]: unknown;
}
declare const Typography: ({ variant: variantProp, weight: weightProp, children, className, color: colorProp, underline, italic, lineThrough, style, align: alignProp, id, ...props }: TypographyProps) => import("react/jsx-runtime").JSX.Element;
export declare const HelperText: ({ error, helperText, id, }: {
error: boolean;
helperText: string;
id?: string;
}) => import("react/jsx-runtime").JSX.Element;
export default Typography;