UNPKG

@open-tender/ui

Version:

A component library for use with the Open Tender web app

23 lines (22 loc) 1.87 kB
import React from 'react'; import { Text, View } from '../components'; import { makeProps } from '../utils'; const Category = ({ config, category, renderHeader, renderCategoryNav, renderCategoryItem }) => { const { name, description, items, children } = category; return (React.createElement(React.Fragment, null, renderHeader(), renderCategoryNav(), React.createElement(View, Object.assign({}, makeProps(config, 'category')), React.createElement(View, Object.assign({}, makeProps(config, 'category__header')), React.createElement(View, Object.assign({}, makeProps(config, 'category__headerContainer')), React.createElement(Text, Object.assign({}, makeProps(config, 'category__title'), { text: name })), description && (React.createElement(Text, Object.assign({}, makeProps(config, 'category__subtitle'), { text: description }))))), React.createElement(View, Object.assign({}, makeProps(config, 'category__content')), React.createElement(View, Object.assign({}, makeProps(config, 'category__items')), items.map(item => renderCategoryItem(item))), children.map(child => (React.createElement(React.Fragment, null, React.createElement(View, Object.assign({ key: child.id }, makeProps(config, 'category__childHeader')), React.createElement(Text, Object.assign({}, makeProps(config, 'category__childTitle'), { text: child.name })), child.description && (React.createElement(Text, Object.assign({}, makeProps(config, 'category__childSubtitle'), { text: child.description })))), React.createElement(View, Object.assign({}, makeProps(config, 'category__items')), child.items.map(item => renderCategoryItem(item)))))))))); }; export default Category;