"use client" import { useState, useEffect } from "react" import { Label } from "@/components/ui/label" import { Slider } from "@/components/ui/slider" export function TypographyControl() { const [fontWeight, setFontWeight] = useState(400) const [lineHeight, setLineHeight] = useState(1.5) const [letterSpacing, setLetterSpacing] = useState(0) useEffect(() => { if (typeof window === "undefined") return const root = document.documentElement // Set CSS variables root.style.setProperty("--font-weight-base", fontWeight.toString()) root.style.setProperty("--line-height-base", lineHeight.toString()) root.style.setProperty("--letter-spacing-base", `${letterSpacing}em`) }, [fontWeight, lineHeight, letterSpacing]) return (

Typography

{/* Font Weight */}
{fontWeight}
setFontWeight(value[0])} />
Light Regular Bold
{/* Line Height */}
{lineHeight.toFixed(1)}
setLineHeight(value[0])} />
Tight Normal Loose
{/* Letter Spacing */}
{letterSpacing === 0 ? "Normal" : letterSpacing > 0 ? `+${letterSpacing}em` : `${letterSpacing}em`}
setLetterSpacing(value[0])} />
Tighter Normal Wider
) }