UNPKG

@danilandreev/material-docs

Version:

material-docs - react framework for easy creating documentation site in material design style.

40 lines (33 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getChildrenFromContainer; var _getContainerByType = _interopRequireDefault(require("./getContainerByType")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* * Author: Andrieiev Danil | danssg08@gmail.com | https://github.com/DanilAndreev * Copyright (C) 2020. */ /** * getChildrenFromContainer - function, designed to get children elements from containers with input types. * @function * @param {JSX.Element} children * @param {string | string[]} types * @param {boolean} invert * @param {boolean} multiple * @return {JSX.Element | JSX.Element[] | null} */ function getChildrenFromContainer(children, types) { var invert = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var multiple = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var containers = (0, _getContainerByType.default)(children, types, invert, multiple); if (Array.isArray(containers)) { return containers.map(function (container) { return container.props.children; }).flat(1); } else if (containers) { return containers.props.children; } return null; }