import PropTypes from 'prop-types'; import React, {useRef} from 'react'; import {View} from 'react-native'; import styleConstructor from './style'; import {Theme} from '../../../types'; export interface DotProps { theme?: Theme; color?: string; marked?: boolean; selected?: boolean; disabled?: boolean; inactive?: boolean; today?: boolean; } const Dot = ({theme, marked, disabled, inactive, color, today, selected}: DotProps) => { const style = useRef(styleConstructor(theme)); const dotStyle = [style.current.dot] as object[]; if (marked) { dotStyle.push(style.current.visibleDot); if (today) { dotStyle.push(style.current.todayDot); } if (disabled) { dotStyle.push(style.current.disabledDot); } if (inactive) { dotStyle.push(style.current.inactiveDot); } if (selected) { dotStyle.push(style.current.selectedDot); } if (color) { dotStyle.push({backgroundColor: color}); } } return ; }; export default Dot; Dot.propTypes = { theme: PropTypes.object, color: PropTypes.string, marked: PropTypes.bool, selected: PropTypes.bool, disabled: PropTypes.bool, inactive: PropTypes.bool, today: PropTypes.bool };