manuo
Version:
UI component library for React Native + NativeWind, mobile-first and platform-specific.
129 lines (111 loc) • 4.82 kB
text/typescript
import * as react_jsx_runtime from 'react/jsx-runtime';
import { GestureResponderEvent, PressableProps, TextProps, SectionListRenderItem } from 'react-native';
import React from 'react';
interface ButtonProps {
title?: string;
icon?: React.ReactNode;
onPress?: (event: GestureResponderEvent) => void;
className?: string;
textClassName?: string;
variant?: 'primary' | 'secondary' | 'tonal' | 'plain';
loading?: boolean;
}
declare const Button: (props: ButtonProps) => react_jsx_runtime.JSX.Element;
declare const ButtonIOS: ({ title, icon, onPress, className, textClassName, variant, loading, loaderColor, ...rest }: ButtonProps & PressableProps & {
loaderColor?: string;
}) => react_jsx_runtime.JSX.Element;
declare const ButtonAndroid: ({ title, icon, onPress, className, textClassName, variant, loading, loaderColor, }: ButtonProps & {
onPress?: (e: GestureResponderEvent) => void;
loaderColor?: string;
}) => react_jsx_runtime.JSX.Element;
interface TextDemoProps extends TextProps {
className?: string;
children: React.ReactNode;
}
declare const TextDemo: ({ children, className, ...props }: TextDemoProps) => react_jsx_runtime.JSX.Element;
declare function cn(...classes: (string | undefined | null | false)[]): string;
interface CardIOSProps {
image?: string;
badge?: string;
title: string;
subtitle?: string;
description?: string;
buttonLabel?: string;
icon?: React.ReactNode;
onPress?: () => void;
className?: string;
}
declare const CardIOS: ({ image, badge, title, subtitle, description, buttonLabel, icon, onPress, className, }: CardIOSProps) => react_jsx_runtime.JSX.Element;
interface CardAndroidProps {
image?: string;
title: string;
subtitle?: string;
description?: string;
buttonLabel?: string;
onPress?: () => void;
className?: string;
icon?: React.ReactNode;
}
declare const CardAndroid: ({ image, title, subtitle, description, buttonLabel, onPress, className, icon, }: CardAndroidProps) => react_jsx_runtime.JSX.Element;
type CardProps = CardIOSProps & CardAndroidProps;
declare const Card: (props: CardProps) => react_jsx_runtime.JSX.Element;
type ListItem = {
title: string;
subtitle: string;
rightText?: string;
icon?: React.ReactNode;
onPress?: () => void;
className?: string;
};
type Section = {
title: string;
data: ListItem[];
};
interface ListSectionProps {
sections: Section[];
renderItem?: SectionListRenderItem<ListItem>;
sectionHeaderClassName?: string;
}
declare const ListSection: ({ sections, renderItem, sectionHeaderClassName, }: ListSectionProps) => react_jsx_runtime.JSX.Element;
interface Props$1 {
title: string;
subtitle: string;
rightText?: string;
icon?: React.ReactNode;
className?: string;
onPress?: (e: GestureResponderEvent) => void;
}
declare const ListItemIOS: ({ title, subtitle, rightText, icon, className, onPress, }: Props$1) => react_jsx_runtime.JSX.Element;
interface Props {
title: string;
subtitle: string;
rightText?: string;
icon?: React.ReactNode;
className?: string;
onPress?: (e: GestureResponderEvent) => void;
}
declare const ListItemAndroid: ({ title, subtitle, rightText, icon, className, onPress, }: Props) => react_jsx_runtime.JSX.Element;
interface ProgressBarProps {
progress: number;
label?: string;
className?: string;
barClassName?: string;
trackClassName?: string;
thickness?: number;
}
declare const ProgressBar: ({ progress, label, className, barClassName, trackClassName, thickness, }: ProgressBarProps) => react_jsx_runtime.JSX.Element;
interface SegmentedControlIOSProps {
options: string[];
selectedIndex?: number;
onChange?: (index: number) => void;
}
declare const SegmentedControlIOS: ({ options, selectedIndex, onChange, }: SegmentedControlIOSProps) => react_jsx_runtime.JSX.Element;
interface SegmentedControlAndroidProps {
options: string[];
selectedIndex?: number;
onChange?: (index: number) => void;
}
declare const SegmentedControlAndroid: ({ options, selectedIndex, onChange, }: SegmentedControlAndroidProps) => react_jsx_runtime.JSX.Element;
type SegmentedControlProps = SegmentedControlIOSProps & SegmentedControlAndroidProps;
declare const SegmentedControl: (props: SegmentedControlProps) => react_jsx_runtime.JSX.Element;
export { Button, ButtonAndroid, ButtonIOS, type ButtonProps, Card, CardAndroid, type CardAndroidProps, CardIOS, type CardIOSProps, type CardProps, type ListItem, ListItemAndroid, ListItemIOS, ListSection, ProgressBar, type Section, SegmentedControl, SegmentedControlAndroid, type SegmentedControlAndroidProps, SegmentedControlIOS, type SegmentedControlIOSProps, type SegmentedControlProps, TextDemo, type TextDemoProps, cn };