react-hook-layout
Version:
Layout management in React.
27 lines (22 loc) • 3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defineSlots = defineSlots;
var _argsAsNames = require("./args-as-names");
var slotComponents = {};
function defineSlots() {
return Array.prototype.reduce.call((0, _argsAsNames.argsAsNames)(arguments), function (result, name) {
result[name] = slotComponents[name] || (slotComponents[name] = function (props) {
return props.children || null;
});
if (!Object.defineProperty(result[name], "name", {
configurable: true,
enamerable: false,
value: name,
writable: false
})) throw new Error("Could not define name of the slot function");
return result;
}, {});
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZpbmUtc2xvdHMuanMiXSwibmFtZXMiOlsic2xvdENvbXBvbmVudHMiLCJkZWZpbmVTbG90cyIsIkFycmF5IiwicHJvdG90eXBlIiwicmVkdWNlIiwiY2FsbCIsImFyZ3VtZW50cyIsInJlc3VsdCIsIm5hbWUiLCJwcm9wcyIsImNoaWxkcmVuIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJjb25maWd1cmFibGUiLCJlbmFtZXJhYmxlIiwidmFsdWUiLCJ3cml0YWJsZSIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUEsSUFBTUEsY0FBYyxHQUFHLEVBQXZCOztBQUVPLFNBQVNDLFdBQVQsR0FBdUI7QUFDNUIsU0FBT0MsS0FBSyxDQUFDQyxTQUFOLENBQWdCQyxNQUFoQixDQUF1QkMsSUFBdkIsQ0FDTCw4QkFBWUMsU0FBWixDQURLLEVBRUwsVUFBVUMsTUFBVixFQUFrQkMsSUFBbEIsRUFBd0I7QUFDdEJELElBQUFBLE1BQU0sQ0FBQ0MsSUFBRCxDQUFOLEdBQ0VSLGNBQWMsQ0FBQ1EsSUFBRCxDQUFkLEtBQ0NSLGNBQWMsQ0FBQ1EsSUFBRCxDQUFkLEdBQXVCLFVBQVVDLEtBQVYsRUFBaUI7QUFDdkMsYUFBT0EsS0FBSyxDQUFDQyxRQUFOLElBQWtCLElBQXpCO0FBQ0QsS0FIRCxDQURGOztBQUtBLFFBQ0UsQ0FBQ0MsTUFBTSxDQUFDQyxjQUFQLENBQXNCTCxNQUFNLENBQUNDLElBQUQsQ0FBNUIsRUFBb0MsTUFBcEMsRUFBNEM7QUFDM0NLLE1BQUFBLFlBQVksRUFBRSxJQUQ2QjtBQUUzQ0MsTUFBQUEsVUFBVSxFQUFFLEtBRitCO0FBRzNDQyxNQUFBQSxLQUFLLEVBQUVQLElBSG9DO0FBSTNDUSxNQUFBQSxRQUFRLEVBQUU7QUFKaUMsS0FBNUMsQ0FESCxFQVFFLE1BQU0sSUFBSUMsS0FBSixDQUFVLDRDQUFWLENBQU47QUFDRixXQUFPVixNQUFQO0FBQ0QsR0FsQkksRUFtQkwsRUFuQkssQ0FBUDtBQXFCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFyZ3NBc05hbWVzIH0gZnJvbSBcIi4vYXJncy1hcy1uYW1lc1wiO1xyXG5cclxuY29uc3Qgc2xvdENvbXBvbmVudHMgPSB7fTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVTbG90cygpIHtcclxuICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKFxyXG4gICAgYXJnc0FzTmFtZXMoYXJndW1lbnRzKSxcclxuICAgIGZ1bmN0aW9uIChyZXN1bHQsIG5hbWUpIHtcclxuICAgICAgcmVzdWx0W25hbWVdID1cclxuICAgICAgICBzbG90Q29tcG9uZW50c1tuYW1lXSB8fFxyXG4gICAgICAgIChzbG90Q29tcG9uZW50c1tuYW1lXSA9IGZ1bmN0aW9uIChwcm9wcykge1xyXG4gICAgICAgICAgcmV0dXJuIHByb3BzLmNoaWxkcmVuIHx8IG51bGw7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3VsdFtuYW1lXSwgXCJuYW1lXCIsIHtcclxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcclxuICAgICAgICAgIGVuYW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgdmFsdWU6IG5hbWUsXHJcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2VcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGRlZmluZSBuYW1lIG9mIHRoZSBzbG90IGZ1bmN0aW9uXCIpO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfSxcclxuICAgIHt9XHJcbiAgKTtcclxufVxyXG4iXX0=