UNPKG

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
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;