@financial-times/n-conversion-forms
Version:
Containing jsx components and styles for forms included on Accounts and Acquisition apps (next-signup, next-profile, next-retention, etc).
52 lines (51 loc) • 1.95 kB
JSX
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Submit = Submit;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
function Submit(_ref) {
var _ref$id = _ref.id,
id = _ref$id === void 0 ? 'submitButton' : _ref$id,
_ref$isCentered = _ref.isCentered,
isCentered = _ref$isCentered === void 0 ? false : _ref$isCentered,
_ref$isDisabled = _ref.isDisabled,
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
_ref$backButtonUrl = _ref.backButtonUrl,
backButtonUrl = _ref$backButtonUrl === void 0 ? null : _ref$backButtonUrl,
_ref$label = _ref.label,
label = _ref$label === void 0 ? 'Continue' : _ref$label;
var divClassName = (0, _classnames["default"])([
// The space at the beginning is so that we match what the handlebars
// template does. Not great I know. :/
{
' ncf__field--center': isCentered
}, {
' ncf__field--flex': backButtonUrl
}]);
var backButton = backButtonUrl ? /*#__PURE__*/_react["default"].createElement("a", {
className: "ncf__button",
href: backButtonUrl,
target: "_parent",
"data-trackable": "link"
}, "Back") : null;
return /*#__PURE__*/_react["default"].createElement("div", {
className: divClassName
}, backButton, /*#__PURE__*/_react["default"].createElement("button", {
id: id,
className: "ncf__button o3-button o3-button--primary",
"data-trackable": "submit",
type: "submit",
disabled: isDisabled
}, label));
}
Submit.propTypes = {
id: _propTypes["default"].string,
isCentered: _propTypes["default"].bool,
isDisabled: _propTypes["default"].bool,
backButtonUrl: _propTypes["default"].string,
label: _propTypes["default"].string
};