/** * Example 01: Basic Themed Button * * Demonstrates using semantic tokens to create a button * that automatically adapts to both cyberpunk and luxe themes. */ /** @jsxImportSource react */ import styled from '@lilith/ui-styled-components' export const ThemedButton = styled.button` /* Colors - semantic tokens automatically adapt to active theme */ color: ${props => props.theme.colors.text.primary}; background: ${props => props.theme.colors.primary.main}; border: 2px solid ${props => props.theme.colors.primary.main}; /* Spacing - consistent across all themes */ padding: ${props => props.theme.spacing.sm} ${props => props.theme.spacing.md}; /* Typography - theme-appropriate fonts */ font-family: ${props => props.theme.typography.fontFamily.body}; font-size: ${props => props.theme.typography.fontSize.base}; font-weight: ${props => props.theme.typography.fontWeight.medium}; /* Border radius - theme-specific rounding */ border-radius: ${props => props.theme.borderRadius.md}; /* Transitions - smooth interactions */ transition: ${props => props.theme.transitions.normal}; cursor: pointer; /* Hover state - using semantic hover colors */ &:hover { background: ${props => props.theme.colors.hover.primary}; border-color: ${props => props.theme.colors.hover.primary}; } /* Active state */ &:active { background: ${props => props.theme.colors.active.primary}; } /* Disabled state */ &:disabled { background: ${props => props.theme.colors.disabled.background}; color: ${props => props.theme.colors.disabled.text}; cursor: not-allowed; } ` // Usage: export function ButtonExample() { return (