synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
36 lines • 2.37 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FluidModal = void 0;
var tslib_1 = require("tslib");
var react_1 = (0, tslib_1.__importDefault)(require("react"));
var react_bootstrap_1 = require("react-bootstrap");
var Typography_1 = (0, tslib_1.__importDefault)(require("../utils/typography/Typography"));
function ModalActionButton(props) {
return (react_1.default.createElement(react_bootstrap_1.Button, { variant: props.variant, onClick: props.onClick }, props.copy));
}
/**
* Full-screen modal that scales with screen size. Fits requirements defined in SWC-5801
* @param props
* @returns
*/
var FluidModal = function (props) {
// TODO: Info button
return (react_1.default.createElement(react_bootstrap_1.Modal, { className: "FluidModal bootstrap-4-backport", backdrop: "static", animation: false, show: props.show, onHide: props.onClose },
react_1.default.createElement(react_bootstrap_1.Modal.Header, { closeButton: true },
react_1.default.createElement(react_bootstrap_1.Modal.Title, null,
react_1.default.createElement(Typography_1.default, { variant: 'headline1' }, props.title))),
react_1.default.createElement(react_bootstrap_1.Modal.Body, null, props.children),
react_1.default.createElement(react_bootstrap_1.Modal.Footer, null,
props.tertiaryActions && (react_1.default.createElement(react_1.default.Fragment, null,
props.tertiaryActions.map(function (action, index) {
return (react_1.default.createElement(ModalActionButton, (0, tslib_1.__assign)({ key: index }, (0, tslib_1.__assign)({ variant: 'outline' }, action))));
}),
react_1.default.createElement("div", { style: { margin: 'auto' } }))),
props.secondaryActions &&
props.secondaryActions.reverse().map(function (action, index) {
return (react_1.default.createElement(ModalActionButton, (0, tslib_1.__assign)({ key: index }, (0, tslib_1.__assign)({ variant: 'outline' }, action))));
}),
props.primaryAction && (react_1.default.createElement(ModalActionButton, (0, tslib_1.__assign)({}, (0, tslib_1.__assign)({ variant: 'sds-primary' }, props.primaryAction)))))));
};
exports.FluidModal = FluidModal;
//# sourceMappingURL=FluidModal.js.map