one
Version:
One is a React framework for web, iOS, and Android apps.
640 lines • 24.8 kB
TypeScript
import type { ColorValue, StyleProp, ViewProps, ViewStyle } from 'react-native';
import type { ReactNode } from 'react';
import type { ComposeIconName } from './generated/composeIcons';
export type { ComposeIconName } from './generated/composeIcons';
import type { NativeState } from './syncNativeState';
export type ComposeStyle = Readonly<{
backgroundColor?: ColorValue;
foregroundColor?: ColorValue;
padding?: number;
paddingTop?: number;
paddingRight?: number;
paddingBottom?: number;
paddingLeft?: number;
width?: number;
height?: number;
fillMaxWidth?: boolean;
fillMaxHeight?: boolean;
weight?: number;
cornerRadius?: number;
opacity?: number;
borderColor?: ColorValue;
borderWidth?: number;
}>;
export type ComposeHorizontalAlignment = 'start' | 'centerHorizontally' | 'end';
export type ComposeVerticalAlignment = 'top' | 'centerVertically' | 'bottom';
export type ComposeContentAlignment = 'topStart' | 'topCenter' | 'topEnd' | 'centerStart' | 'center' | 'centerEnd' | 'bottomStart' | 'bottomCenter' | 'bottomEnd' | 'top' | 'bottom' | 'start' | 'end';
export type ComposeVerticalArrangement = 'top' | 'center' | 'bottom' | 'spaceBetween' | 'spaceAround' | 'spaceEvenly';
export type ComposeHorizontalArrangement = 'start' | 'center' | 'end' | 'spaceBetween' | 'spaceAround' | 'spaceEvenly';
export type ComposeTextAlign = 'unspecified' | 'left' | 'right' | 'center' | 'justify' | 'start' | 'end';
export type ComposeFontWeight = 'thin' | 'extraLight' | 'light' | 'normal' | 'medium' | 'semiBold' | 'bold' | 'extraBold' | 'black';
export type ComposeAccessibilityRole = 'button' | 'switch' | 'checkbox' | 'radio' | 'header' | 'text' | 'adjustable' | 'alert' | 'progressbar';
export interface ComposeNodeProps extends Pick<ViewProps, 'accessibilityLabel' | 'accessibilityState' | 'accessibilityValue' | 'testID'> {
children?: ReactNode;
accessibilityRole?: ComposeAccessibilityRole;
style?: StyleProp<ViewStyle>;
composeStyle?: ComposeStyle;
}
export interface ComposeColumnProps extends ComposeNodeProps {
horizontalAlignment?: ComposeHorizontalAlignment;
verticalArrangement?: ComposeVerticalArrangement;
spacing?: number;
}
export interface ComposeRowProps extends ComposeNodeProps {
verticalAlignment?: ComposeVerticalAlignment;
horizontalArrangement?: ComposeHorizontalArrangement;
spacing?: number;
}
export interface ComposeBoxProps extends ComposeNodeProps {
contentAlignment?: ComposeContentAlignment;
}
export type ComposeSpacerProps = ComposeLeafProps;
export interface ComposeFlowRowProps extends ComposeNodeProps {
horizontalArrangement?: ComposeHorizontalArrangement | Readonly<{
spacedBy: number;
}>;
verticalArrangement?: ComposeVerticalArrangement | Readonly<{
spacedBy: number;
}>;
}
export type ComposeLazyContentPadding = Readonly<{
start?: number;
end?: number;
top?: number;
bottom?: number;
}>;
export interface ComposeLazyColumnProps extends ComposeNodeProps {
horizontalAlignment?: 'start' | 'end' | 'center';
verticalArrangement?: ComposeVerticalArrangement | Readonly<{
spacedBy: number;
}>;
contentPadding?: ComposeLazyContentPadding;
}
export interface ComposeLazyRowProps extends ComposeNodeProps {
verticalAlignment?: 'top' | 'bottom' | 'center';
horizontalArrangement?: ComposeHorizontalArrangement | Readonly<{
spacedBy: number;
}>;
contentPadding?: ComposeLazyContentPadding;
}
export type ComposeImageSource = Readonly<{
uri: string;
}> | number;
export type ComposeImageContentScale = 'fit' | 'crop' | 'fillBounds' | 'fillWidth' | 'fillHeight' | 'inside' | 'none';
export interface ComposeImageProps extends ComposeLeafProps {
source: ComposeImageSource;
contentScale?: ComposeImageContentScale;
alignment?: ComposeContentAlignment;
contentDescription?: string | null;
tint?: ColorValue;
alpha?: number;
onLoad?: () => void;
onError?: (message: string) => void;
}
export interface ComposeSnackbarProps extends ComposeLeafProps {
containerColor?: ColorValue;
contentColor?: ColorValue;
actionColor?: ColorValue;
actionContentColor?: ColorValue;
dismissActionContentColor?: ColorValue;
actionOnNewLine?: boolean;
}
export type ComposeSnackbarHostProps = ComposeNodeProps;
export type ComposeSnackbarDuration = 'short' | 'long' | 'indefinite';
export interface ComposeSnackbarShowOptions {
message: string;
actionLabel?: string;
duration?: ComposeSnackbarDuration;
withDismissAction?: boolean;
}
export type ComposeSnackbarResult = 'dismissed' | 'actionPerformed';
export interface ComposeSnackbarHostRef {
showSnackbar: (options: ComposeSnackbarShowOptions) => Promise<ComposeSnackbarResult>;
}
export interface ComposeModalBottomSheetProperties {
shouldDismissOnClickOutside?: boolean;
}
export interface ComposeModalBottomSheetProps extends ComposeNodeProps {
onDismissRequest: () => void;
properties?: ComposeModalBottomSheetProperties;
scrimColor?: ColorValue;
skipPartiallyExpanded?: boolean;
initialFullyExpanded?: boolean;
showDragHandle?: boolean;
sheetGesturesEnabled?: boolean;
}
export interface ComposeModalBottomSheetRef {
hide: () => Promise<void>;
}
export interface ComposeNavigationBarProps extends ComposeNodeProps {
containerColor?: ColorValue;
contentColor?: ColorValue;
tonalElevation?: number;
}
export type ComposeNavigationBarItemColors = Readonly<{
selectedIconColor?: ColorValue;
selectedTextColor?: ColorValue;
indicatorColor?: ColorValue;
unselectedIconColor?: ColorValue;
unselectedTextColor?: ColorValue;
disabledIconColor?: ColorValue;
disabledTextColor?: ColorValue;
}>;
export interface ComposeNavigationBarItemProps extends ComposeLeafProps {
selected: boolean;
onClick: () => void;
label?: string;
icon: ComposeIconName;
iconFilled?: boolean;
enabled?: boolean;
alwaysShowLabel?: boolean;
colors?: ComposeNavigationBarItemColors;
}
export interface ComposeSearchBarProps extends ComposeNodeProps {
query: string;
onQueryChange: (value: string) => void;
revision?: number;
expanded: boolean;
onExpandedChange: (expanded: boolean) => void;
expandedRevision?: number;
placeholder?: string;
enabled?: boolean;
onSearch?: (query: string) => void;
containerColor?: ColorValue;
}
export interface ComposeDropdownMenuProps extends ComposeNodeProps {
expanded: boolean;
onDismissRequest: () => void;
containerColor?: ColorValue;
}
export type ComposeDropdownMenuItemColors = Readonly<{
textColor?: ColorValue;
leadingIconColor?: ColorValue;
trailingIconColor?: ColorValue;
disabledTextColor?: ColorValue;
disabledLeadingIconColor?: ColorValue;
disabledTrailingIconColor?: ColorValue;
}>;
export interface ComposeDropdownMenuItemProps extends ComposeLeafProps {
text: string;
onClick: () => void;
enabled?: boolean;
leadingIcon?: ComposeIconName;
trailingIcon?: ComposeIconName;
iconFilled?: boolean;
colors?: ComposeDropdownMenuItemColors;
}
export interface ComposeExposedDropdownMenuBoxProps extends ComposeNodeProps {
expanded: boolean;
onExpandedChange: (expanded: boolean) => void;
expandedRevision?: number;
value: string;
placeholder?: string;
enabled?: boolean;
}
export interface ComposePullToRefreshBoxProps extends ComposeNodeProps {
isRefreshing: boolean;
onRefresh: () => void;
enabled?: boolean;
}
export interface ComposeTooltipBoxProps extends ComposeNodeProps {
text: string;
title?: string;
enabled?: boolean;
}
export type ComposeAnimatedVisibilityTransition = 'fade' | 'scale' | 'slideVertically' | 'expandVertically';
export interface ComposeAnimatedVisibilityProps extends ComposeNodeProps {
visible: boolean;
enter?: ComposeAnimatedVisibilityTransition;
exit?: ComposeAnimatedVisibilityTransition;
}
export interface ComposeBadgeProps extends ComposeNodeProps {
containerColor?: ColorValue;
contentColor?: ColorValue;
}
export type ComposeBadgedBoxProps = ComposeNodeProps;
export type ComposeListItemColors = Readonly<{
containerColor?: ColorValue;
contentColor?: ColorValue;
leadingContentColor?: ColorValue;
trailingContentColor?: ColorValue;
supportingContentColor?: ColorValue;
overlineContentColor?: ColorValue;
}>;
export interface ComposeListItemProps extends ComposeNodeProps {
colors?: ComposeListItemColors;
tonalElevation?: number;
shadowElevation?: number;
}
export interface ComposeSurfaceProps extends ComposeNodeProps {
color?: ColorValue;
contentColor?: ColorValue;
tonalElevation?: number;
shadowElevation?: number;
border?: ComposeCardBorder;
enabled?: boolean;
selected?: boolean;
checked?: boolean;
onClick?: () => void;
onCheckedChange?: (checked: boolean) => void;
revision?: number;
}
type ComposeLeafProps = Omit<ComposeNodeProps, 'children'>;
export interface ComposeTextProps extends ComposeLeafProps {
text: string;
fontSize?: number;
fontWeight?: ComposeFontWeight;
textAlign?: ComposeTextAlign;
maxLines?: number;
}
export interface ComposeIconProps extends ComposeLeafProps {
name: ComposeIconName;
size?: number;
filled?: boolean;
}
export type ComposeButtonVariant = 'filled' | 'tonal' | 'elevated' | 'outlined' | 'text';
export type ComposeButtonTone = 'default' | 'danger';
export interface ComposeButtonProps extends ComposeLeafProps {
label: string;
disabled?: boolean;
variant?: ComposeButtonVariant;
tone?: ComposeButtonTone;
icon?: ComposeIconName;
iconFilled?: boolean;
onPress?: () => void;
}
export type ComposeIconButtonColors = Readonly<{
containerColor?: ColorValue;
contentColor?: ColorValue;
disabledContainerColor?: ColorValue;
disabledContentColor?: ColorValue;
}>;
export interface ComposeIconButtonProps extends ComposeNodeProps {
children: ReactNode;
enabled?: boolean;
colors?: ComposeIconButtonColors;
onClick?: () => void;
}
export interface ComposeFloatingActionButtonProps extends ComposeNodeProps {
children: ReactNode;
containerColor?: ColorValue;
onClick?: () => void;
}
export interface ComposeExtendedFloatingActionButtonProps extends ComposeFloatingActionButtonProps {
expanded?: boolean;
}
export type ComposeToggleButtonColors = Readonly<{
containerColor?: ColorValue;
contentColor?: ColorValue;
checkedContainerColor?: ColorValue;
checkedContentColor?: ColorValue;
disabledContainerColor?: ColorValue;
disabledContentColor?: ColorValue;
}>;
export interface ComposeToggleButtonProps extends ComposeNodeProps {
children: ReactNode;
checked: boolean;
enabled?: boolean;
colors?: ComposeToggleButtonColors;
onCheckedChange?: (checked: boolean) => void;
revision?: number;
}
export interface ComposeSegmentedButtonRowProps extends ComposeNodeProps {
children: ReactNode;
}
export type ComposeSegmentedButtonColors = Readonly<{
activeBorderColor?: ColorValue;
activeContentColor?: ColorValue;
inactiveBorderColor?: ColorValue;
inactiveContentColor?: ColorValue;
disabledActiveBorderColor?: ColorValue;
disabledActiveContentColor?: ColorValue;
disabledInactiveBorderColor?: ColorValue;
disabledInactiveContentColor?: ColorValue;
activeContainerColor?: ColorValue;
inactiveContainerColor?: ColorValue;
disabledActiveContainerColor?: ColorValue;
disabledInactiveContainerColor?: ColorValue;
}>;
export interface ComposeSegmentedButtonProps extends ComposeNodeProps {
children: ReactNode;
selected?: boolean;
checked?: boolean;
enabled?: boolean;
colors?: ComposeSegmentedButtonColors;
onClick?: () => void;
onCheckedChange?: (checked: boolean) => void;
revision?: number;
}
export type ComposeSwitchColors = Readonly<{
checkedThumbColor?: ColorValue;
checkedTrackColor?: ColorValue;
checkedBorderColor?: ColorValue;
checkedIconColor?: ColorValue;
uncheckedThumbColor?: ColorValue;
uncheckedTrackColor?: ColorValue;
uncheckedBorderColor?: ColorValue;
uncheckedIconColor?: ColorValue;
disabledCheckedThumbColor?: ColorValue;
disabledCheckedTrackColor?: ColorValue;
disabledCheckedBorderColor?: ColorValue;
disabledCheckedIconColor?: ColorValue;
disabledUncheckedThumbColor?: ColorValue;
disabledUncheckedTrackColor?: ColorValue;
disabledUncheckedBorderColor?: ColorValue;
disabledUncheckedIconColor?: ColorValue;
}>;
export interface ComposeSwitchProps extends ComposeLeafProps {
isOn: boolean;
disabled?: boolean;
label?: string;
colors?: ComposeSwitchColors;
onIsOnChange: (value: boolean) => void;
revision?: number;
}
export interface ComposeCheckboxProps extends ComposeLeafProps {
value: boolean;
disabled?: boolean;
onCheckedChange?: (value: boolean) => void;
revision?: number;
colors?: Readonly<{
checkedColor?: ColorValue;
disabledCheckedColor?: ColorValue;
uncheckedColor?: ColorValue;
disabledUncheckedColor?: ColorValue;
checkmarkColor?: ColorValue;
}>;
}
export interface ComposeRadioButtonProps extends ComposeLeafProps {
selected: boolean;
disabled?: boolean;
onClick?: () => void;
colors?: Readonly<{
selectedColor?: ColorValue;
unselectedColor?: ColorValue;
disabledSelectedColor?: ColorValue;
disabledUnselectedColor?: ColorValue;
}>;
}
export type ComposeCardColors = Readonly<{
containerColor?: ColorValue;
contentColor?: ColorValue;
}>;
export type ComposeCardBorder = Readonly<{
width?: number;
color?: ColorValue;
}>;
export interface ComposeCardProps extends ComposeNodeProps {
colors?: ComposeCardColors;
elevation?: number;
border?: ComposeCardBorder;
}
export type ComposeElevatedCardProps = Omit<ComposeCardProps, 'border'>;
export type ComposeOutlinedCardProps = ComposeCardProps;
export interface ComposeDividerProps extends ComposeLeafProps {
thickness?: number;
color?: ColorValue;
}
type ComposeChipColors = Readonly<{
containerColor?: ColorValue;
labelColor?: ColorValue;
iconColor?: ColorValue;
iconContentColor?: ColorValue;
leadingIconContentColor?: ColorValue;
trailingIconContentColor?: ColorValue;
leadingIconColor?: ColorValue;
trailingIconColor?: ColorValue;
selectedContainerColor?: ColorValue;
selectedLabelColor?: ColorValue;
selectedLeadingIconColor?: ColorValue;
selectedTrailingIconColor?: ColorValue;
}>;
export type ComposeChipBorder = ComposeCardBorder;
interface ComposeChipProps extends ComposeNodeProps {
children: ReactNode;
enabled?: boolean;
elevation?: number;
border?: ComposeChipBorder;
onClick?: () => void;
}
export type ComposeAssistChipColors = Pick<ComposeChipColors, 'containerColor' | 'labelColor' | 'leadingIconContentColor' | 'trailingIconContentColor'>;
export interface ComposeAssistChipProps extends ComposeChipProps {
colors?: ComposeAssistChipColors;
}
export type ComposeFilterChipColors = Pick<ComposeChipColors, 'containerColor' | 'labelColor' | 'iconColor' | 'selectedContainerColor' | 'selectedLabelColor' | 'selectedLeadingIconColor' | 'selectedTrailingIconColor'>;
export interface ComposeFilterChipProps extends ComposeChipProps {
selected: boolean;
colors?: ComposeFilterChipColors;
}
export type ComposeInputChipColors = Pick<ComposeChipColors, 'containerColor' | 'labelColor' | 'leadingIconColor' | 'trailingIconColor' | 'selectedContainerColor' | 'selectedLabelColor' | 'selectedLeadingIconColor' | 'selectedTrailingIconColor'>;
export interface ComposeInputChipProps extends ComposeChipProps {
selected?: boolean;
colors?: ComposeInputChipColors;
}
export type ComposeSuggestionChipColors = Pick<ComposeChipColors, 'containerColor' | 'labelColor' | 'iconContentColor'>;
export interface ComposeSuggestionChipProps extends ComposeChipProps {
colors?: ComposeSuggestionChipColors;
}
export type ComposeTextFieldVariant = 'filled' | 'outlined';
export type ComposeTextFieldKeyboardType = 'default' | 'number' | 'decimal' | 'email' | 'password' | 'phone' | 'url';
export type ComposeTextFieldImeAction = 'default' | 'none' | 'go' | 'search' | 'send' | 'previous' | 'next' | 'done';
export type ComposeTextFieldCapitalization = 'none' | 'characters' | 'words' | 'sentences';
export interface ComposeTextFieldProps extends ComposeLeafProps {
text: string | NativeState<string>;
onTextChange: (value: string) => void;
revision?: number;
label?: string;
placeholder?: string;
disabled?: boolean;
variant?: ComposeTextFieldVariant;
keyboardType?: ComposeTextFieldKeyboardType;
secureText?: boolean;
focused?: boolean;
focusRevision?: number;
onFocusChange?: (focused: boolean) => void;
imeAction?: ComposeTextFieldImeAction;
onSubmit?: () => void;
maxLength?: number;
multiline?: boolean;
capitalization?: ComposeTextFieldCapitalization;
autoCorrect?: boolean;
textAlign?: ComposeTextAlign;
}
export interface ComposeSliderProps extends ComposeLeafProps {
value: number;
onValueChange: (value: number) => void;
revision?: number;
minimumValue?: number;
maximumValue?: number;
lowerLimit?: number;
upperLimit?: number;
step?: number;
disabled?: boolean;
colors?: Readonly<{
thumbColor?: ColorValue;
activeTrackColor?: ColorValue;
inactiveTrackColor?: ColorValue;
activeTickColor?: ColorValue;
inactiveTickColor?: ColorValue;
}>;
}
export interface ComposeAlertDialogProps extends ComposeLeafProps {
visible: boolean;
title?: string;
message?: string;
confirmLabel: string;
dismissLabel?: string;
onConfirm: () => void;
onDismiss: () => void;
}
export interface ComposeDialogProps extends ComposeNodeProps {
visible: boolean;
onDismiss: () => void;
}
export type ComposeProgressVariant = 'linear' | 'circular' | 'linearWavy' | 'circularWavy';
export type ComposeProgressStrokeCap = 'round' | 'butt' | 'square';
export type ComposeProgressStopIndicator = Readonly<{
color?: ColorValue;
strokeCap?: ComposeProgressStrokeCap;
stopSize?: number;
}>;
export interface ComposeProgressIndicatorProps extends ComposeLeafProps {
variant?: ComposeProgressVariant;
progress?: number | null;
color?: ColorValue;
trackColor?: ColorValue;
strokeCap?: ComposeProgressStrokeCap;
gapSize?: number;
strokeWidth?: number;
drawStopIndicator?: ComposeProgressStopIndicator;
stopSize?: number;
amplitude?: number;
wavelength?: number;
waveSpeed?: number;
}
export interface ComposeLoadingIndicatorProps extends ComposeLeafProps {
progress?: number | null;
color?: ColorValue;
}
export interface ComposeContainedLoadingIndicatorProps extends ComposeLoadingIndicatorProps {
containerColor?: ColorValue;
}
export declare const composeDatePickerColorKeys: readonly ['containerColor', 'titleContentColor', 'headlineContentColor', 'weekdayContentColor', 'subheadContentColor', 'navigationContentColor', 'yearContentColor', 'disabledYearContentColor', 'currentYearContentColor', 'selectedYearContentColor', 'disabledSelectedYearContentColor', 'selectedYearContainerColor', 'disabledSelectedYearContainerColor', 'dayContentColor', 'disabledDayContentColor', 'selectedDayContentColor', 'disabledSelectedDayContentColor', 'selectedDayContainerColor', 'disabledSelectedDayContainerColor', 'todayContentColor', 'todayDateBorderColor', 'dayInSelectionRangeContentColor', 'dayInSelectionRangeContainerColor', 'dividerColor'];
export declare const composeTimePickerColorKeys: readonly ['containerColor', 'clockDialColor', 'clockDialSelectedContentColor', 'clockDialUnselectedContentColor', 'selectorColor', 'periodSelectorBorderColor', 'periodSelectorSelectedContainerColor', 'periodSelectorUnselectedContainerColor', 'periodSelectorSelectedContentColor', 'periodSelectorUnselectedContentColor', 'timeSelectorSelectedContainerColor', 'timeSelectorUnselectedContainerColor', 'timeSelectorSelectedContentColor', 'timeSelectorUnselectedContentColor'];
export type ComposeDatePickerColors = Readonly<Partial<Record<(typeof composeDatePickerColorKeys)[number], ColorValue>>>;
export type ComposeTimePickerColors = Readonly<Partial<Record<(typeof composeTimePickerColorKeys)[number], ColorValue>>>;
export interface ComposeDatePickerProps extends ComposeLeafProps {
selection: Date;
onSelectionChange: (value: Date) => void;
revision?: number;
minimumDate?: Date;
maximumDate?: Date;
variant?: 'picker' | 'input';
showModeToggle?: boolean;
color?: ColorValue;
colors?: ComposeDatePickerColors;
}
export interface ComposeTimePickerProps extends ComposeLeafProps {
selection: Date;
onSelectionChange: (value: Date) => void;
revision?: number;
is24Hour?: boolean;
variant?: 'picker' | 'input';
color?: ColorValue;
colors?: ComposeTimePickerColors;
}
type ComposePickerDialogProps = {
visible: boolean;
onConfirm: (value: Date) => void;
onDismiss: () => void;
confirmLabel?: string;
dismissLabel?: string;
};
export type ComposeDatePickerDialogProps = Omit<ComposeDatePickerProps, 'onSelectionChange' | 'revision'> & ComposePickerDialogProps;
export type ComposeTimePickerDialogProps = Omit<ComposeTimePickerProps, 'onSelectionChange' | 'revision'> & ComposePickerDialogProps;
export interface ComposeBasicAlertDialogProps extends ComposeNodeProps {
onDismissRequest?: () => void;
properties?: Readonly<{
dismissOnBackPress?: boolean;
dismissOnClickOutside?: boolean;
usePlatformDefaultWidth?: boolean;
decorFitsSystemWindows?: boolean;
}>;
}
export interface ComposeCarouselCommonProps extends ComposeNodeProps {
children: ReactNode;
itemSpacing?: number;
contentPadding?: number | ComposeLazyContentPadding;
flingBehavior?: 'singleAdvance' | 'noSnap';
userScrollEnabled?: boolean;
}
export interface ComposeHorizontalCenteredHeroCarouselProps extends ComposeCarouselCommonProps {
maxItemWidth?: number;
minSmallItemWidth?: number;
maxSmallItemWidth?: number;
}
export interface ComposeHorizontalMultiBrowseCarouselProps extends Omit<ComposeHorizontalCenteredHeroCarouselProps, 'maxItemWidth'> {
preferredItemWidth: number;
}
export interface ComposeHorizontalUncontainedCarouselProps extends ComposeCarouselCommonProps {
itemWidth: number;
}
export type ComposeDateRangeSelection = {
start: Date | null;
end: Date | null;
};
export interface ComposeDateRangePickerProps extends Omit<ComposeNodeProps, 'children'> {
initialStartDate?: string | null;
initialEndDate?: string | null;
onDateRangeSelected?: (range: ComposeDateRangeSelection) => void;
variant?: 'picker' | 'input';
showVariantToggle?: boolean;
showTitle?: boolean;
showHeadline?: boolean;
color?: ColorValue;
elementColors?: ComposeDatePickerColors;
selectableDates?: {
start?: Date;
end?: Date;
};
}
export interface ComposeDateRangePickerDialogProps extends ComposeDateRangePickerProps {
confirmButtonLabel?: string;
dismissButtonLabel?: string;
onDismissRequest: () => void;
}
export interface ComposeHorizontalFloatingToolbarProps extends ComposeNodeProps {
children: ReactNode;
variant?: 'standard' | 'vibrant';
colors?: Readonly<{
toolbarContainerColor?: ColorValue;
toolbarContentColor?: ColorValue;
fabContainerColor?: ColorValue;
fabContentColor?: ColorValue;
}>;
}
export interface ComposeToolbarFabProps extends ComposeNodeProps {
children: ReactNode;
onPress?: () => void;
}
export interface ComposeShapeProps extends Omit<ComposeNodeProps, 'children'> {
cornerRounding?: number;
smoothing?: number;
verticesCount?: number;
innerRadius?: number;
radius?: number;
cornerRadii?: Readonly<{
topStart?: number;
topEnd?: number;
bottomStart?: number;
bottomEnd?: number;
}>;
color?: ColorValue;
}
export type ComposeShapeType = 'star' | 'pillStar' | 'pill' | 'circle' | 'rectangle' | 'polygon' | 'roundedCorner';
export interface ComposeSyncSwitchProps extends Omit<ComposeNodeProps, 'children'> {
isOn: NativeState<boolean>;
enabled?: boolean;
onCheckedChangeSync?: (checked: boolean) => void;
}
//# sourceMappingURL=composeTypes.d.ts.map