@financial-times/n-conversion-forms
Version:
Containing jsx components and styles for forms included on Accounts and Acqusition apps (next-signup, next-profile, next-retention, etc).
78 lines (77 loc) • 3.22 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CompanyName = CompanyName;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
function CompanyName(_ref) {
var _ref$fieldId = _ref.fieldId,
fieldId = _ref$fieldId === void 0 ? 'companyNameField' : _ref$fieldId,
_ref$hasError = _ref.hasError,
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
_ref$inputId = _ref.inputId,
inputId = _ref$inputId === void 0 ? 'companyName' : _ref$inputId,
_ref$inputName = _ref.inputName,
inputName = _ref$inputName === void 0 ? 'company' : _ref$inputName,
_ref$value = _ref.value,
value = _ref$value === void 0 ? '' : _ref$value,
_ref$isDisabled = _ref.isDisabled,
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
_ref$fieldLabel = _ref.fieldLabel,
fieldLabel = _ref$fieldLabel === void 0 ? 'Company name' : _ref$fieldLabel,
_ref$placeholder = _ref.placeholder,
placeholder = _ref$placeholder === void 0 ? 'Please enter your company name' : _ref$placeholder,
_ref$isRequired = _ref.isRequired,
isRequired = _ref$isRequired === void 0 ? true : _ref$isRequired,
_ref$isHidden = _ref.isHidden,
isHidden = _ref$isHidden === void 0 ? false : _ref$isHidden,
_ref$maxlength = _ref.maxlength,
maxlength = _ref$maxlength === void 0 ? 100 : _ref$maxlength;
var divClassNames = (0, _classnames["default"])(['o-forms-field', {
'o-forms-field--optional': !isRequired
}, {
ncf__hidden: isHidden
}]);
var inputWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', {
'o-forms-input--invalid': hasError
}]);
var inputProps = {
type: 'text',
id: inputId,
name: inputName,
placeholder: placeholder,
autoComplete: 'organization',
'data-trackable': 'company-name',
'aria-required': isRequired,
required: isRequired,
disabled: isDisabled,
defaultValue: value,
maxlength: maxlength
};
return /*#__PURE__*/_react["default"].createElement("label", {
id: fieldId,
className: divClassNames,
"data-validate": "required",
htmlFor: inputProps.id
}, /*#__PURE__*/_react["default"].createElement("span", {
className: "o-forms-title"
}, /*#__PURE__*/_react["default"].createElement("span", {
className: "o-forms-title__main"
}, fieldLabel)), /*#__PURE__*/_react["default"].createElement("span", {
className: inputWrapperClassNames
}, /*#__PURE__*/_react["default"].createElement("input", inputProps), /*#__PURE__*/_react["default"].createElement("span", {
className: "o-forms-input__error"
}, "Please enter your company name.")));
}
CompanyName.propTypes = {
hasError: _propTypes["default"].bool,
value: _propTypes["default"].string,
isDisabled: _propTypes["default"].bool,
fieldLabel: _propTypes["default"].string,
isRequired: _propTypes["default"].bool,
isHidden: _propTypes["default"].bool,
maxlength: _propTypes["default"].number
};