import React from 'react'; import { StyleSheet, ViewStyle, TextStyle, TouchableHighlight, } from 'react-native'; import { useStyles, useTheme } from '../../hooks'; import { ComponentStyleProp, LLComponentStyleFn } from '../../types'; import { LLText } from '../LLText'; export type LLWidgetSubmitButtonStyles = { buttonContainer: ViewStyle; disabledButtonContainer: ViewStyle; buttonText: TextStyle; disabledButtonText: TextStyle; }; export type LLWidgetSubmitButtonProps = ComponentStyleProp & { widgetId: string; }; export type LLWidgetSubmitButtonComponentProps = ComponentStyleProp & { disabled?: boolean; label?: string; onPress: () => void; }; export function LLWidgetSubmitButtonComponent({ disabled, onPress, label = 'Submit', styles: stylesProp, }: LLWidgetSubmitButtonComponentProps) { const submitButtonStyles = useStyles({ componentStylesFn: getWidgetSubmitButtonStyles, stylesProp, }); const { theme } = useTheme(); return ( {label} ); } const getWidgetSubmitButtonStyles: LLComponentStyleFn< LLWidgetSubmitButtonStyles > = ({ theme }) => StyleSheet.create({ buttonContainer: { display: 'flex', justifyContent: 'center', alignItems: 'center', width: 78, height: 32, borderRadius: 4, marginLeft: 16, marginBottom: 16, backgroundColor: theme.primaryButtonBackground, }, disabledButtonContainer: { backgroundColor: theme.disabledButtonBackground, }, buttonText: { fontSize: 14, }, disabledButtonText: { color: theme.disabledButtonText, }, });