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

27 lines (26 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); var hooks_1 = require("../app/hooks"); var slices_1 = require("../slices"); var ErrorMessage_1 = tslib_1.__importDefault(require("./ErrorMessage")); var ItemOptionSelected_1 = tslib_1.__importDefault(require("./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 = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).itemSelections; var display_customize = (0, hooks_1.useAppSelector)(slices_1.selectStoreSettings).display_customize; var renderErrorMessage = (0, react_1.useCallback)(function (icon, children) { return (react_1.default.createElement(ErrorMessage_1.default, { icon: icon, content: children, children: ErrorMessageView })); }, [ErrorMessageView]); var renderItemOption = (0, react_1.useCallback)(function (group, option) { return (react_1.default.createElement(ItemOptionSelected_1.default, { 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 }); }; exports.default = ItemSelections;