@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
JavaScript
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);