;
declare const designTokens: {
baseColors: {
lightMode: {
primary900: string;
primary800: string;
primary700: string;
primary600: string;
primary500: string;
primary400: string;
primary300: string;
primary200: string;
primary100: string;
secondary900: string;
secondary800: string;
secondary700: string;
secondary600: string;
secondary500: string;
secondary400: string;
secondary300: string;
secondary200: string;
secondary100: string;
tertiary900: string;
tertiary800: string;
tertiary700: string;
tertiary600: string;
tertiary500: string;
tertiary400: string;
tertiary300: string;
tertiary200: string;
tertiary100: string;
tertiary0: string;
neutral900: string;
neutral800: string;
neutral700: string;
neutral600: string;
neutral500: string;
neutral400: string;
neutral300: string;
neutral200: string;
neutral100: string;
positive900: string;
positive800: string;
positive700: string;
positive600: string;
positive500: string;
positive400: string;
positive300: string;
positive200: string;
positive100: string;
warning900: string;
warning800: string;
warning700: string;
warning600: string;
warning500: string;
warning400: string;
warning300: string;
warning200: string;
warning100: string;
danger900: string;
danger800: string;
danger700: string;
danger600: string;
danger500: string;
danger400: string;
danger300: string;
danger200: string;
danger100: string;
teal950: string;
teal900: string;
teal800: string;
teal700: string;
teal600: string;
teal500: string;
teal400: string;
teal300: string;
teal200: string;
teal100: string;
teal50: string;
indigo950: string;
indigo900: string;
indigo800: string;
indigo700: string;
indigo600: string;
indigo500: string;
indigo400: string;
indigo300: string;
indigo200: string;
indigo100: string;
indigo50: string;
blue950: string;
blue900: string;
blue800: string;
blue700: string;
blue600: string;
blue500: string;
blue400: string;
blue300: string;
blue200: string;
blue100: string;
blue50: string;
pink950: string;
pink900: string;
pink800: string;
pink700: string;
pink600: string;
pink500: string;
pink400: string;
pink300: string;
pink200: string;
pink100: string;
pink50: string;
};
darkMode: {
primary900: string;
primary800: string;
primary700: string;
primary600: string;
primary500: string;
primary400: string;
primary300: string;
primary200: string;
primary100: string;
secondary900: string;
secondary800: string;
secondary700: string;
secondary600: string;
secondary500: string;
secondary400: string;
secondary300: string;
secondary200: string;
secondary100: string;
tertiary900: string;
tertiary800: string;
tertiary700: string;
tertiary600: string;
tertiary500: string;
tertiary400: string;
tertiary300: string;
tertiary200: string;
tertiary100: string;
tertiary0: string;
neutral900: string;
neutral800: string;
neutral700: string;
neutral600: string;
neutral500: string;
neutral400: string;
neutral300: string;
neutral200: string;
neutral100: string;
positive900: string;
positive800: string;
positive700: string;
positive600: string;
positive500: string;
positive400: string;
positive300: string;
positive200: string;
positive100: string;
warning900: string;
warning800: string;
warning700: string;
warning600: string;
warning500: string;
warning400: string;
warning300: string;
warning200: string;
warning100: string;
danger900: string;
danger800: string;
danger700: string;
danger600: string;
danger500: string;
danger400: string;
danger300: string;
danger200: string;
danger100: string;
teal950: string;
teal900: string;
teal800: string;
teal700: string;
teal600: string;
teal500: string;
teal400: string;
teal300: string;
teal200: string;
teal100: string;
teal50: string;
indigo950: string;
indigo900: string;
indigo800: string;
indigo700: string;
indigo600: string;
indigo500: string;
indigo400: string;
indigo300: string;
indigo200: string;
indigo100: string;
indigo50: string;
blue950: string;
blue900: string;
blue800: string;
blue700: string;
blue600: string;
blue500: string;
blue400: string;
blue300: string;
blue200: string;
blue100: string;
blue50: string;
pink950: string;
pink900: string;
pink800: string;
pink700: string;
pink600: string;
pink500: string;
pink400: string;
pink300: string;
pink200: string;
pink100: string;
pink50: string;
};
nightMode: {
primary900: string;
primary800: string;
primary700: string;
primary600: string;
primary500: string;
primary400: string;
primary300: string;
primary200: string;
primary100: string;
secondary900: string;
secondary800: string;
secondary700: string;
secondary600: string;
secondary500: string;
secondary400: string;
secondary300: string;
secondary200: string;
secondary100: string;
tertiary900: string;
tertiary800: string;
tertiary700: string;
tertiary600: string;
tertiary500: string;
tertiary400: string;
tertiary300: string;
tertiary200: string;
tertiary100: string;
tertiary0: string;
neutral900: string;
neutral800: string;
neutral700: string;
neutral600: string;
neutral500: string;
neutral400: string;
neutral300: string;
neutral200: string;
neutral100: string;
positive900: string;
positive800: string;
positive700: string;
positive600: string;
positive500: string;
positive400: string;
positive300: string;
positive200: string;
positive100: string;
warning900: string;
warning800: string;
warning700: string;
warning600: string;
warning500: string;
warning400: string;
warning300: string;
warning200: string;
warning100: string;
danger900: string;
danger800: string;
danger700: string;
danger600: string;
danger500: string;
danger400: string;
danger300: string;
danger200: string;
danger100: string;
teal950: string;
teal900: string;
teal800: string;
teal700: string;
teal600: string;
teal500: string;
teal400: string;
teal300: string;
teal200: string;
teal100: string;
teal50: string;
indigo950: string;
indigo900: string;
indigo800: string;
indigo700: string;
indigo600: string;
indigo500: string;
indigo400: string;
indigo300: string;
indigo200: string;
indigo100: string;
indigo50: string;
blue950: string;
blue900: string;
blue800: string;
blue700: string;
blue600: string;
blue500: string;
blue400: string;
blue300: string;
blue200: string;
blue100: string;
blue50: string;
pink950: string;
pink900: string;
pink800: string;
pink700: string;
pink600: string;
pink500: string;
pink400: string;
pink300: string;
pink200: string;
pink100: string;
pink50: string;
};
originUiMode: {
primary900: string;
primary800: string;
primary700: string;
primary600: string;
primary500: string;
primary400: string;
primary300: string;
primary200: string;
primary100: string;
secondary900: string;
secondary800: string;
secondary700: string;
secondary600: string;
secondary500: string;
secondary400: string;
secondary300: string;
secondary200: string;
secondary100: string;
tertiary900: string;
tertiary800: string;
tertiary700: string;
tertiary600: string;
tertiary500: string;
tertiary400: string;
tertiary300: string;
tertiary200: string;
tertiary100: string;
tertiary0: string;
neutral900: string;
neutral800: string;
neutral700: string;
neutral600: string;
neutral500: string;
neutral400: string;
neutral300: string;
neutral200: string;
neutral100: string;
positive900: string;
positive800: string;
positive700: string;
positive600: string;
positive500: string;
positive400: string;
positive300: string;
positive200: string;
positive100: string;
warning900: string;
warning800: string;
warning700: string;
warning600: string;
warning500: string;
warning400: string;
warning300: string;
warning200: string;
warning100: string;
danger900: string;
danger800: string;
danger700: string;
danger600: string;
danger500: string;
danger400: string;
danger300: string;
danger200: string;
danger100: string;
teal950: string;
teal900: string;
teal800: string;
teal700: string;
teal600: string;
teal500: string;
teal400: string;
teal300: string;
teal200: string;
teal100: string;
teal50: string;
indigo950: string;
indigo900: string;
indigo800: string;
indigo700: string;
indigo600: string;
indigo500: string;
indigo400: string;
indigo300: string;
indigo200: string;
indigo100: string;
indigo50: string;
blue950: string;
blue900: string;
blue800: string;
blue700: string;
blue600: string;
blue500: string;
blue400: string;
blue300: string;
blue200: string;
blue100: string;
blue50: string;
pink950: string;
pink900: string;
pink800: string;
pink700: string;
pink600: string;
pink500: string;
pink400: string;
pink300: string;
pink200: string;
pink100: string;
pink50: string;
};
};
colors: {
primary: string;
secondary: string;
tertiary: string;
border: {
primary: string;
secondary: string;
};
bg: {
primary: string;
secondary: string;
};
themes: {
light: {
primary: string;
secondary: string;
tertiary: string;
border: {
primary: string;
secondary: string;
};
bg: {
primary: string;
secondary: string;
};
critical: string;
warning: string;
positive: string;
neutral: string;
white: string;
black: string;
};
dark: {
primary: string;
secondary: string;
tertiary: string;
border: {
primary: string;
secondary: string;
};
bg: {
primary: string;
secondary: string;
};
critical: string;
warning: string;
positive: string;
neutral: string;
white: string;
black: string;
};
night: {
primary: string;
secondary: string;
tertiary: string;
border: {
primary: string;
secondary: string;
};
bg: {
primary: string;
secondary: string;
};
critical: string;
warning: string;
positive: string;
neutral: string;
white: string;
black: string;
};
'origin-ui': {
primary: string;
secondary: string;
tertiary: string;
border: {
primary: string;
secondary: string;
};
bg: {
primary: string;
secondary: string;
};
critical: string;
warning: string;
positive: string;
neutral: string;
white: string;
black: string;
};
};
dark: {
100: string;
50: string;
25: string;
};
legacyBorder: string;
divider: string;
background: string;
white: string;
critical: {
default: string;
dark: string;
light: string;
};
warning: {
default: string;
dark: string;
light: string;
};
positive: {
default: string;
dark: string;
light: string;
};
neutral: {
default: string;
dark: string;
light: string;
};
overlay: {
light: {
strong: string;
medium: string;
light: string;
};
dark: {
strong: string;
medium: string;
light: string;
};
night: {
strong: string;
medium: string;
light: string;
};
'origin-ui': {
strong: string;
medium: string;
light: string;
};
controls: {
light: {
bg: string;
hover: string;
divider: string;
text: string;
};
dark: {
bg: string;
hover: string;
divider: string;
text: string;
};
night: {
bg: string;
hover: string;
divider: string;
text: string;
};
'origin-ui': {
bg: string;
hover: string;
divider: string;
text: string;
};
};
};
glass: {
light: {
bg: string;
bgSubtle: string;
bgProminent: string;
border: string;
borderSubtle: string;
shadow: string;
shadowLg: string;
blur: string;
blurLg: string;
blurSm: string;
saturate: string;
};
dark: {
bg: string;
bgSubtle: string;
bgProminent: string;
border: string;
borderSubtle: string;
shadow: string;
shadowLg: string;
blur: string;
blurLg: string;
blurSm: string;
saturate: string;
};
night: {
bg: string;
bgSubtle: string;
bgProminent: string;
border: string;
borderSubtle: string;
shadow: string;
shadowLg: string;
blur: string;
blurLg: string;
blurSm: string;
saturate: string;
};
'origin-ui': {
bg: string;
bgSubtle: string;
bgProminent: string;
border: string;
borderSubtle: string;
shadow: string;
shadowLg: string;
blur: string;
blurLg: string;
blurSm: string;
saturate: string;
};
};
};
typography: {
fontFamily: {
primary: string;
secondary: string;
};
fontWeight: {
regular: string;
medium: string;
semibold: string;
};
fontSize: {
desktop: {
sm: string;
md: string;
lg: string;
xl: string;
xxl: string;
};
tablet: {
sm: string;
md: string;
lg: string;
xl: string;
xxl: string;
};
rem: {
xs: string;
sm: string;
md: string;
lg: string;
xl: string;
xxl: string;
};
};
lineHeight: {
tight: string;
normal: string;
relaxed: string;
};
};
spacing: {
x0: string;
x1: string;
x2: string;
x3: string;
x4: string;
x5: string;
x6: string;
x7: string;
x8: string;
x9: string;
x10: string;
x11: string;
x12: string;
x13: string;
x14: string;
x15: string;
x16: string;
x20: string;
x24: string;
x38: string;
rem: {
x0: string;
x1: string;
x2: string;
x3: string;
x4: string;
x5: string;
x6: string;
x7: string;
x8: string;
x9: string;
x10: string;
x11: string;
x12: string;
x13: string;
x14: string;
x15: string;
x16: string;
x20: string;
x24: string;
x38: string;
};
};
borderRadius: {
none: string;
sm: string;
md: string;
lg: string;
xl: string;
full: string;
circle: string;
};
shadows: {
sm: string;
md: string;
lg: string;
xl: string;
};
gradients: {
blushPeach: string;
lavenderPink: string;
peachLilac: string;
creamPeach: string;
honeyCoral: string;
pinkSky: string;
roseMist: string;
mintSky: string;
neonMint: string;
sandLavender: string;
};
chartGlow: {
blurSm: string;
blurMd: string;
blurLg: string;
alphaPrimary: string;
alphaSecondary: string;
};
transitions: {
fast: string;
normal: string;
slow: string;
};
layout: {
breakpoints: {
xxl: string;
xl: string;
lg: string;
md: string;
sm: string;
xs: string;
};
grid: {
desktop: {
columns: number;
gutter: string;
margin: string;
};
laptop: {
columns: number;
gutter: string;
margin: string;
};
mobile: {
columns: number;
gutter: string;
margin: string;
};
};
};
};
declare const cssVariables: string;
/**
* AI UTILITIES FOR FT DESIGN SYSTEM
*
* This module provides utilities for AI tools to work better with FT Design System.
* These utilities are separate from core components to keep them clean and lightweight.
*/
/**
* Filters out problematic classes that AI tools might add
* This prevents manual height overrides, border radius, and color overrides
* that would break the design system's consistency
*/
declare function filterAIClasses(className?: string): string;
/**
* Enhanced cn function that automatically filters AI-generated problematic classes
* Use this instead of regular cn for components that need AI protection
*/
declare function cnSafe(...inputs: ClassValue[]): string;
/**
* Filters out problematic inline styles that AI tools might add
* This prevents manual height, border-radius, and color overrides via style prop
*/
declare function filterAIStyles(style?: React__default.CSSProperties): React__default.CSSProperties | undefined;
/**
* Higher-order component that adds AI protection to any component
* This filters out problematic props that AI tools might add
*/
declare function withAIProtection(Component: React__default.ComponentType
| React__default.ForwardRefExoticComponent
): {
(props: P): React__default.ReactElement
>;
displayName: string;
};
/**
* Detects conflicting design systems in the current environment
* Useful for debugging when AI tools install multiple design systems
*/
declare function detectDesignSystemConflicts(): string[];
/**
* Logs design system conflicts and provides helpful debugging information
*/
declare function debugDesignSystemConflicts(): void;
/**
* Checks if critical CSS variables are loaded
* Returns array of missing variable names
*/
declare function checkCSSVariablesLoaded(): string[];
/**
* Validates that FT Design System is properly loaded
* Enhanced version that checks actual CSS variable values
*/
declare function validateFTDesignSystem(): boolean;
/**
* Development helper that runs all AI-related checks
* Call this once in your app during development
*/
declare function runAIDevelopmentChecks(): void;
/**
* FT DESIGN SYSTEM - AI-PROTECTED COMPONENTS
*
* This module exports AI-protected versions of commonly used components.
* These automatically filter out problematic AI-generated classes.
*
* Recommended for use with AI coding assistants like:
* - Cursor AI
* - GitHub Copilot
* - v0.dev
* - Bolt.new
* - Lovable
*
* Usage:
* import { Button, Input, Table } from 'ft-design-system/ai';
*
* @module ft-design-system/ai
*/
declare const Button: {
(props: ButtonProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Input: {
(props: InputProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Badge: {
(props: BadgeProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Checkbox: {
(props: CheckboxProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Switch: {
(props: SwitchProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const RadioGroup: {
(props: RadioGroupProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Typography: {
(props: TypographyProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Statistic: {
(props: StatisticProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Text: {
(props: TextProps): React.ReactElement>;
displayName: string;
};
declare const SubText: {
(props: SubTextProps): React.ReactElement>;
displayName: string;
};
declare const Spacer: {
(props: SpacerProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Divider: {
(props: DividerProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Textarea: {
(props: TextareaProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Toggle: {
(props: ToggleProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Skeleton: {
(props: SkeletonProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Spin: {
(props: SpinProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Label: {
(props: LabelProps): React.ReactElement>;
displayName: string;
};
declare const DatePicker: {
(props: DatePickerProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Dropdown: {
(props: DropdownProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const DropdownMenu: {
(props: DropdownMenuProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const ProgressBar: {
(props: ProgressBarProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const SegmentedTabs: {
(props: SegmentedTabsProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Steps: {
(props: StepsProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const RadioSelector: {
(props: RadioSelectorProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const ButtonGroup: {
(props: ButtonGroupProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Alert: {
(props: AlertProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Breadcrumb: {
(props: BreadcrumbProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Pagination: {
(props: PaginationProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Tooltip: {
(props: TooltipProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Slider: {
(props: SliderProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const TimePicker: {
(props: TimePickerProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Cascader: {
(props: CascaderProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Table: {
(props: TableProps & {
ref?: React.Ref | undefined;
}): React.ReactElement & {
ref?: React.Ref | undefined;
}, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Tabs: {
(props: TabsProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const AppHeader: {
(props: AppHeaderProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Footer: {
(props: FooterProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const UserProfile: {
(props: UserProfileProps): React.ReactElement>;
displayName: string;
};
declare const UserProfileDropdown: {
(props: UserProfileDropdownProps): React.ReactElement>;
displayName: string;
};
declare const Collapsible: {
(props: CollapsibleProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const QuickFilters: {
(props: QuickFiltersProps): React.ReactElement>;
displayName: string;
};
declare const UploadZone: {
(props: UploadZoneProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Upload: {
(props: UploadProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const FileCard: {
(props: FileCardProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Card: {
(props: CardProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Modal: {
(props: ModalProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Drawer: {
(props: DrawerProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const Form: {
(props: FormProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const PageHeader: {
(props: PageHeaderProps & React.RefAttributes): React.ReactElement, string | React.JSXElementConstructor>;
displayName: string;
};
declare const BarChart: {
(props: BarChartProps): React.ReactElement>;
displayName: string;
};
declare const LineChart: {
(props: LineChartProps): React.ReactElement>;
displayName: string;
};
declare const PieChart: {
(props: PieChartProps): React.ReactElement>;
displayName: string;
};
declare const AreaChart: {
(props: AreaChartProps): React.ReactElement>;
displayName: string;
};
export { Alert, AppHeader, AreaChart, Badge, BadgeProps, BarChart, Breadcrumb, Button, ButtonGroup, ButtonProps, ButtonSize, ButtonVariant, Card, CardProps, Cascader, Checkbox, CheckboxProps, Collapsible, DatePicker, Divider, Drawer, Dropdown, DropdownMenu, FTProvider, FTProviderProps, FileCard, Footer, Form, FormProps, GlassContextType, GlassMode, GlassProvider, Icon, IconName, Input, InputProps, Label, LineChart, Logo, Modal, ModalProps, PageHeader, Pagination, PieChart, ProgressBar, QuickFilters, RadioGroup, RadioSelector, SegmentedTabs, Select, Skeleton, Slider, Spacer, Spin, Statistic, Steps, SubText, Switch, SwitchProps, Table, TableColumn, TableProps, Tabs, TabsProps, Text, Textarea, Theme, ThemeContextType, ThemeProvider, ThemeSwitch, TimePicker, Toggle, Tooltip, Typography, Upload, UploadZone, UserProfile, UserProfileDropdown, checkCSSVariablesLoaded, cn, cnSafe, cssVariables, debugDesignSystemConflicts, designTokens, detectDesignSystemConflicts, filterAIClasses, filterAIStyles, iconMap, runAIDevelopmentChecks, useFTTheme, useGlass, useTheme, validateFTDesignSystem, withAIProtection };