@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).
74 lines (73 loc) • 2.94 kB
JSX
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DeliveryAddressType = DeliveryAddressType;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var addressTypes = [{
id: 'home',
label: 'Home Address'
}, {
id: 'company',
label: 'Company Address'
}, {
id: 'pobox',
label: 'P.O. Box'
}];
function DeliveryAddressType(_ref) {
var _ref$value = _ref.value,
value = _ref$value === void 0 ? 'home' : _ref$value,
_ref$fieldId = _ref.fieldId,
fieldId = _ref$fieldId === void 0 ? 'deliveryAddressTypeField' : _ref$fieldId,
_ref$inputName = _ref.inputName,
inputName = _ref$inputName === void 0 ? 'deliveryAddressType' : _ref$inputName,
_ref$options = _ref.options,
options = _ref$options === void 0 ? ['home', 'company', 'pobox'] : _ref$options,
_ref$editMode = _ref.editMode,
editMode = _ref$editMode === void 0 ? false : _ref$editMode,
_ref$titlePrompt = _ref.titlePrompt,
titlePrompt = _ref$titlePrompt === void 0 ? '' : _ref$titlePrompt;
return /*#__PURE__*/_react["default"].createElement("div", {
id: fieldId,
className: "o-forms-field ncf__delivery-address-type",
role: "group",
"aria-label": "Delivery Address Type"
}, /*#__PURE__*/_react["default"].createElement("span", {
className: "o-forms-title"
}, /*#__PURE__*/_react["default"].createElement("span", {
className: "o-forms-title__main"
}, "Address type"), /*#__PURE__*/_react["default"].createElement("span", {
className: "o-forms-title__prompt"
}, titlePrompt)), /*#__PURE__*/_react["default"].createElement("div", {
className: "o-forms-input o-forms-input--inline o-forms-input--radio-round"
}, options.map(function (option) {
var type = addressTypes.find(function (item) {
return item.id === option;
});
return !type ? null : /*#__PURE__*/_react["default"].createElement("label", {
htmlFor: type.id,
"aria-label": type.label,
key: type.id
}, /*#__PURE__*/_react["default"].createElement("input", {
type: "radio",
id: type.id,
name: inputName,
value: type.id,
className: "ncf__delivery-address-type__input",
disabled: editMode && type.id !== value,
defaultChecked: type.id === value
}), /*#__PURE__*/_react["default"].createElement("span", {
className: "o-forms-input__label o-forms-input__address-type__label",
"aria-hidden": "true"
}, type.label));
})));
}
DeliveryAddressType.propTypes = {
fieldId: _propTypes["default"].string,
inputName: _propTypes["default"].string,
value: _propTypes["default"].oneOf(['home', 'company', 'pobox']),
options: _propTypes["default"].arrayOf(_propTypes["default"].oneOf(['home', 'company', 'pobox'])),
titlePrompt: _propTypes["default"].string
};