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

31 lines (30 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var utils_1 = require("@open-tender/utils"); 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 SuccessMessage_1 = tslib_1.__importDefault(require("./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 = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).itemGroup; var modifierGroup = (0, utils_1.useModifierGroup)(group); 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 renderSuccessMessage = (0, react_1.useCallback)(function (icon, children) { return (react_1.default.createElement(SuccessMessage_1.default, { 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 }); }; exports.default = react_1.default.memo(ItemGroup);