UNPKG

@open-tender/store

Version:

A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API

28 lines (27 loc) 1.6 kB
import { useModifierGroup } from '@open-tender/utils'; import React, { useCallback } from 'react'; import { useAppSelector } from '../app/hooks'; import { selectKioskConfig } from '../slices'; import { default as ErrorMessageContainer } from './ErrorMessage'; import { default as SuccessMessageContainer } from './SuccessMessage'; var ItemGroup = function (_a) { var group = _a.group, content = _a.content, flash = _a.flash, index = _a.index, isInitiallyCollapsed = _a.isInitiallyCollapsed, onItemClicked = _a.onItemClicked, children = _a.children, ErrorMessageView = _a.ErrorMessageView, SuccessMessageView = _a.SuccessMessageView; var config = useAppSelector(selectKioskConfig).itemGroup; var modifierGroup = useModifierGroup(group); var renderErrorMessage = useCallback(function (icon, children) { return (React.createElement(ErrorMessageContainer, { icon: icon, content: children, children: ErrorMessageView })); }, [ErrorMessageView]); var renderSuccessMessage = useCallback(function (icon, children) { return (React.createElement(SuccessMessageContainer, { icon: icon, content: children, children: SuccessMessageView })); }, [SuccessMessageView]); if (!config) return null; return children({ config: config, group: modifierGroup, children: content, flash: flash, index: index, isInitiallyCollapsed: isInitiallyCollapsed, onItemClicked: onItemClicked, renderErrorMessage: renderErrorMessage, renderSuccessMessage: renderSuccessMessage }); }; export default React.memo(ItemGroup);