import React from 'react'; import { View, StyleSheet } from 'react-native'; import { ListButton } from './list-button'; import { ToggleIconButton } from './toggle-icon-button'; import { ColorListButton } from './color-list-button'; import type { ColorListData, TextListData, ToggleData } from '../../types'; import { formatType } from '../../constants/formats'; import { useToolbar } from './toolbar-context'; interface Props { tools: Array; } export const ToolSet: React.FC = (props) => { const { tools } = props; const { styles } = useToolbar(); const renderToggle = (index: number, data: ToggleData) => ( ); const renderTextList = (index: number, data: TextListData) => ( ); const renderColorList = (index: number, data: ColorListData) => ( ); const rootStyle = styles?.toolbar?.toolset?.root ? styles.toolbar?.toolset?.root(defaultStyles.toolset) : defaultStyles.toolset; return ( {tools.map((tool, index) => { const { type } = tool; if (type === formatType.select) { return renderTextList(index, tool as TextListData); } else if (type === formatType.color) { return renderColorList(index, tool as ColorListData); } else { return renderToggle(index, tool as ToggleData); } })} ); }; const defaultStyles = StyleSheet.create({ toolset: { flexDirection: 'row', justifyContent: 'flex-start', alignItems: 'flex-start', paddingTop: 2, paddingBottom: 2, paddingLeft: 3, paddingRight: 3, marginRight: 1, }, });