@nodeject/ui-components
Version:
UI library for non-trivial components
27 lines (26 loc) • 1.51 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ToggleComponents = void 0;
var React = require("react");
var hooks_1 = require("../hooks");
var ToggleComponents = function (props) {
var OtherComponent = props.OtherComponent, InitialComponent = props.InitialComponent, initialComponentProps = props.initialComponentProps, otherComponentProps = props.otherComponentProps;
var initialToggleComponent = props.initialState !== undefined ? props.initialState : 'initial';
var defaultToggle = hooks_1.useToggle({
initialState: initialToggleComponent !== 'initial'
});
var _a = (props === null || props === void 0 ? void 0 : props.toggle) || defaultToggle, active = _a.active, toggle = _a.toggle, toggleOn = _a.toggleOn, toggleOff = _a.toggleOff;
return active ? (React.createElement(OtherComponent, __assign({ toggle: toggle, toggleOff: toggleOff }, otherComponentProps))) : (React.createElement(InitialComponent, __assign({ toggle: toggle, toggleOn: toggleOn }, initialComponentProps)));
};
exports.ToggleComponents = ToggleComponents;