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

24 lines (23 loc) 1.48 kB
import React, { useCallback } from 'react'; import { useAppSelector } from '../app/hooks'; import { selectKioskConfig, selectStoreSettings } from '../slices'; import { default as ErrorMessageContainer } from './ErrorMessage'; import { default as ItemOptionSelectedContainer } from './ItemOptionSelected'; var ItemSelections = function (_a) { var handlers = _a.handlers, groups = _a.groups, levels = _a.levels, isIncomplete = _a.isIncomplete, children = _a.children, ItemOptionView = _a.ItemOptionView, ErrorMessageView = _a.ErrorMessageView; var config = useAppSelector(selectKioskConfig).itemSelections; var display_customize = useAppSelector(selectStoreSettings).display_customize; var renderErrorMessage = useCallback(function (icon, children) { return (React.createElement(ErrorMessageContainer, { icon: icon, content: children, children: ErrorMessageView })); }, [ErrorMessageView]); var renderItemOption = useCallback(function (group, option) { return (React.createElement(ItemOptionSelectedContainer, { levels: levels, handlers: handlers, group: group, option: option, children: ItemOptionView })); }, [levels, handlers, ItemOptionView]); if (!config) return null; return children({ config: config, groups: groups, isIncomplete: isIncomplete, isCustomize: display_customize, renderErrorMessage: renderErrorMessage, renderItemOption: renderItemOption }); }; export default ItemSelections;