import React from 'react' import { Text as RNText, View, ScrollView, type ViewStyle, type TextStyle, type StyleProp, } from 'react-native' import { atoms as a, utils, useTheme, Provider, createThemes, DEFAULT_PALETTE, DEFAULT_SUBDUED_PALETTE, } from '@bsky.app/alf' export function Spec() { const themes = createThemes({ defaultPalette: DEFAULT_PALETTE, subduedPalette: DEFAULT_SUBDUED_PALETTE, }) return ( ALF Spec {['light', 'dark', 'dim'].map(theme => { return ( ) })}
Typography a.text_xs a.text_sm a.text_md a.text_lg a.text_xl [a.text_xs a.leading_tight] {lorem} [a.text_sm a.leading_tight] {lorem} [a.text_md a.leading_tight] {lorem} [a.text_lg a.leading_tight] {lorem} [a.text_xl a.leading_tight] {lorem} [a.text_xs a.leading_snug] {lorem} [a.text_sm a.leading_snug] {lorem} [a.text_md a.leading_snug] {lorem} [a.text_lg a.leading_snug] {lorem} [a.text_xl a.leading_snug] {lorem} [a.text_xs a.leading_relaxed] {lorem} [a.text_sm a.leading_relaxed] {lorem} [a.text_md a.leading_relaxed] {lorem} [a.text_lg a.leading_relaxed] {lorem} [a.text_xl a.leading_relaxed] {lorem}
) } function Colors() { const t = useTheme() console.log(t) return (
Theme: {t.name} t.atoms.text_contrast_low t.atoms.text_contrast_medium t.atoms.text_contrast_high t.atoms.text t.atoms.text_inverted t.atoms.border_contrast_low t.atoms.border_contrast_medium t.atoms.border_contrast_high t.atoms.shadow_* {Object.entries(t.atoms) .filter(([key]) => key.startsWith('shadow')) .map(([key]) => { return ( ) })} t.atoms.bg_contrast_* {Object.entries(t.atoms) .filter(([key]) => key.startsWith('bg')) .map(([key]) => { return ( {key.replace(/\D/g, '') || 'bg'} ) })} Palettes {['contrast', 'primary', 'positive', 'negative'].map(palette => { return ( {Object.entries(t.palette) .filter(([key]) => key.startsWith(palette)) .map(([key]) => { return ( {key.replace(/\D/g, '')} ) })} ) })}
) } function Text({ children, style, }: { children: React.ReactNode style?: StyleProp }) { const t = useTheme() return ( {children} ) } function SectionTitle({children}: {children: React.ReactNode}) { return {children} } function Section({ children, style, }: { children: React.ReactNode style?: StyleProp }) { 0 return {children} } const lorem = `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.`