@financial-times/n-conversion-forms 31.0.1 → 31.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/main.js +18 -10
- package/.toolkitrc.yml +7 -0
- package/.toolkitstate/ci.json +2 -2
- package/dist/accept-terms-business.jsx +74 -0
- package/dist/accept-terms-business.spec.jsx +40 -0
- package/dist/accept-terms-privacy-policy.jsx +71 -0
- package/dist/accept-terms-subscription.jsx +150 -0
- package/dist/accept-terms.jsx +217 -0
- package/dist/app-banner.jsx +51 -0
- package/dist/b2c-partnership-confirmation.jsx +64 -0
- package/dist/billing-city.jsx +58 -0
- package/dist/billing-country.jsx +43 -0
- package/dist/billing-postcode.jsx +76 -0
- package/dist/company-name.jsx +78 -0
- package/dist/confirmation.jsx +117 -0
- package/dist/continue-reading.jsx +45 -0
- package/dist/country.jsx +106 -0
- package/dist/customer-care.jsx +52 -0
- package/dist/debug.jsx +50 -0
- package/dist/decision-maker.jsx +72 -0
- package/dist/deferred-billing-terms.jsx +112 -0
- package/dist/delivery-address-map.jsx +184 -0
- package/dist/delivery-address-type.jsx +74 -0
- package/dist/delivery-address.jsx +123 -0
- package/dist/delivery-city.jsx +70 -0
- package/dist/delivery-county.jsx +48 -0
- package/dist/delivery-instructions.jsx +123 -0
- package/dist/delivery-option.jsx +77 -0
- package/dist/delivery-po-box.jsx +75 -0
- package/dist/delivery-postcode.jsx +116 -0
- package/dist/delivery-security-instructions.jsx +72 -0
- package/dist/delivery-start-date.jsx +77 -0
- package/dist/education-job-title.jsx +67 -0
- package/dist/email.jsx +90 -0
- package/dist/error-page.jsx +45 -0
- package/dist/fieldset.jsx +58 -0
- package/dist/first-name.jsx +73 -0
- package/dist/form.jsx +29 -0
- package/dist/google-sign-in.jsx +24 -0
- package/dist/graduation-date.jsx +112 -0
- package/dist/index.jsx +432 -0
- package/dist/industry.jsx +81 -0
- package/dist/job-title.jsx +65 -0
- package/dist/last-name.jsx +73 -0
- package/dist/licence-confirmation.jsx +67 -0
- package/dist/licence-header.jsx +52 -0
- package/dist/licence-sign-in.jsx +36 -0
- package/dist/licence-title.jsx +46 -0
- package/dist/lite-sub-confirmation.jsx +118 -0
- package/dist/loader.jsx +54 -0
- package/dist/message.jsx +101 -0
- package/dist/message.spec.jsx +96 -0
- package/dist/organisation.jsx +73 -0
- package/dist/package-change.jsx +38 -0
- package/dist/password.jsx +95 -0
- package/dist/payment-term.jsx +328 -0
- package/dist/payment-type.jsx +213 -0
- package/dist/personal-title.jsx +94 -0
- package/dist/phone.jsx +85 -0
- package/dist/position.jsx +86 -0
- package/dist/progress-indicator.jsx +66 -0
- package/dist/province.jsx +80 -0
- package/dist/registration-confirmation.jsx +108 -0
- package/dist/responsibility.jsx +84 -0
- package/dist/section.jsx +20 -0
- package/dist/seven-day-pass-experiment-confirmation.jsx +93 -0
- package/dist/state.jsx +80 -0
- package/dist/submit.jsx +52 -0
- package/dist/text-input.jsx +78 -0
- package/dist/trial-banner.jsx +29 -0
- package/package.json +19 -19
- package/toolkit/run-storybook/.toolkitrc.yml +1 -0
- package/toolkit/run-storybook/index.js +17 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.DeliverySecurityInstructions = DeliverySecurityInstructions;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function DeliverySecurityInstructions(_ref) {
|
|
15
|
+
var _ref$fieldId = _ref.fieldId,
|
|
16
|
+
fieldId = _ref$fieldId === void 0 ? 'deliverySecurityInstructionsField' : _ref$fieldId,
|
|
17
|
+
_ref$hasError = _ref.hasError,
|
|
18
|
+
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
|
|
19
|
+
_ref$inputId = _ref.inputId,
|
|
20
|
+
inputId = _ref$inputId === void 0 ? 'deliverySecurityInstructions' : _ref$inputId,
|
|
21
|
+
_ref$maxlength = _ref.maxlength,
|
|
22
|
+
maxlength = _ref$maxlength === void 0 ? null : _ref$maxlength,
|
|
23
|
+
_ref$rows = _ref.rows,
|
|
24
|
+
rows = _ref$rows === void 0 ? null : _ref$rows,
|
|
25
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
26
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
27
|
+
_ref$placeholder = _ref.placeholder,
|
|
28
|
+
placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
|
|
29
|
+
_ref$value = _ref.value,
|
|
30
|
+
value = _ref$value === void 0 ? '' : _ref$value;
|
|
31
|
+
var textAreaWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--textarea', {
|
|
32
|
+
'o-forms-input--invalid': hasError
|
|
33
|
+
}]);
|
|
34
|
+
var defaultPlaceholder = 'Please enter any secure information here, e.g. security gate access codes';
|
|
35
|
+
var textAreaProps = _objectSpread(_objectSpread(_objectSpread({
|
|
36
|
+
id: inputId,
|
|
37
|
+
name: inputId
|
|
38
|
+
}, maxlength && {
|
|
39
|
+
maxLength: maxlength
|
|
40
|
+
}), rows && {
|
|
41
|
+
rows: rows
|
|
42
|
+
}), {}, {
|
|
43
|
+
'data-trackable': 'field-deliverySecurityInstructions',
|
|
44
|
+
placeholder: placeholder ? placeholder : defaultPlaceholder,
|
|
45
|
+
disabled: isDisabled,
|
|
46
|
+
defaultValue: value
|
|
47
|
+
});
|
|
48
|
+
return /*#__PURE__*/_react["default"].createElement("label", {
|
|
49
|
+
id: fieldId,
|
|
50
|
+
className: "o-forms-field o-forms-field--optional",
|
|
51
|
+
"data-validate": "required",
|
|
52
|
+
htmlFor: inputId
|
|
53
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
54
|
+
className: "o-forms-title"
|
|
55
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
56
|
+
className: "o-forms-title__main"
|
|
57
|
+
}, "Security instructions")), /*#__PURE__*/_react["default"].createElement("span", {
|
|
58
|
+
className: textAreaWrapperClassNames
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement("textarea", textAreaProps)), /*#__PURE__*/_react["default"].createElement("span", {
|
|
60
|
+
className: "additional-field-information"
|
|
61
|
+
}, "NB. Details supplied here will not appear on packaging."));
|
|
62
|
+
}
|
|
63
|
+
DeliverySecurityInstructions.propTypes = {
|
|
64
|
+
fieldId: _propTypes["default"].string,
|
|
65
|
+
hasError: _propTypes["default"].bool,
|
|
66
|
+
inputId: _propTypes["default"].string,
|
|
67
|
+
maxlength: _propTypes["default"].number,
|
|
68
|
+
rows: _propTypes["default"].number,
|
|
69
|
+
isDisabled: _propTypes["default"].bool,
|
|
70
|
+
value: _propTypes["default"].string,
|
|
71
|
+
placeholder: _propTypes["default"].string
|
|
72
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.DeliveryStartDate = DeliveryStartDate;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function DeliveryStartDate(_ref) {
|
|
15
|
+
var _ref$hasError = _ref.hasError,
|
|
16
|
+
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
|
|
17
|
+
_ref$date = _ref.date,
|
|
18
|
+
date = _ref$date === void 0 ? '' : _ref$date,
|
|
19
|
+
_ref$value = _ref.value,
|
|
20
|
+
value = _ref$value === void 0 ? '' : _ref$value,
|
|
21
|
+
_ref$min = _ref.min,
|
|
22
|
+
min = _ref$min === void 0 ? null : _ref$min,
|
|
23
|
+
_ref$max = _ref.max,
|
|
24
|
+
max = _ref$max === void 0 ? null : _ref$max,
|
|
25
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
26
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
27
|
+
_ref$isAddressUpdate = _ref.isAddressUpdate,
|
|
28
|
+
isAddressUpdate = _ref$isAddressUpdate === void 0 ? false : _ref$isAddressUpdate;
|
|
29
|
+
var inputWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', {
|
|
30
|
+
'o-forms-input--invalid': hasError
|
|
31
|
+
}]);
|
|
32
|
+
var inputProps = _objectSpread(_objectSpread(_objectSpread({
|
|
33
|
+
type: 'date',
|
|
34
|
+
id: 'deliveryStartDate',
|
|
35
|
+
name: 'deliveryStartDate'
|
|
36
|
+
}, min && {
|
|
37
|
+
min: min
|
|
38
|
+
}), max && {
|
|
39
|
+
max: max
|
|
40
|
+
}), {}, {
|
|
41
|
+
'data-trackable': 'field-deliveryStartDate',
|
|
42
|
+
'aria-required': 'true',
|
|
43
|
+
required: true,
|
|
44
|
+
disabled: isDisabled,
|
|
45
|
+
defaultValue: value
|
|
46
|
+
});
|
|
47
|
+
var startMessage = isAddressUpdate ? 'We’ll start delivering to this address from:' : 'Your print subscription will start from:';
|
|
48
|
+
return /*#__PURE__*/_react["default"].createElement("label", {
|
|
49
|
+
id: "deliveryStartDateField",
|
|
50
|
+
className: "o-forms-field ncf__validation-error",
|
|
51
|
+
"data-validate": "required",
|
|
52
|
+
htmlFor: inputProps.id
|
|
53
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
54
|
+
className: "o-forms-title"
|
|
55
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
56
|
+
className: "o-forms-title__main",
|
|
57
|
+
id: "start-date-picker-title-span"
|
|
58
|
+
}, "Delivery start date"), /*#__PURE__*/_react["default"].createElement("span", {
|
|
59
|
+
className: "o-forms-title__prompt"
|
|
60
|
+
}, "Earliest available delivery date: ", date)), /*#__PURE__*/_react["default"].createElement("span", {
|
|
61
|
+
className: inputWrapperClassNames
|
|
62
|
+
}, /*#__PURE__*/_react["default"].createElement("input", inputProps), /*#__PURE__*/_react["default"].createElement("span", {
|
|
63
|
+
className: "o-forms-input__error"
|
|
64
|
+
}, "Please select a valid start date")), /*#__PURE__*/_react["default"].createElement("p", null, startMessage, " ", /*#__PURE__*/_react["default"].createElement("strong", {
|
|
65
|
+
className: "js-start-date-text"
|
|
66
|
+
}, date)));
|
|
67
|
+
}
|
|
68
|
+
DeliveryStartDate.propTypes = {
|
|
69
|
+
hasError: _propTypes["default"].bool,
|
|
70
|
+
date: _propTypes["default"].node,
|
|
71
|
+
// could be a string or a component that formats the string
|
|
72
|
+
value: _propTypes["default"].string,
|
|
73
|
+
min: _propTypes["default"].string,
|
|
74
|
+
max: _propTypes["default"].string,
|
|
75
|
+
isDisabled: _propTypes["default"].bool,
|
|
76
|
+
isAddressUpdate: _propTypes["default"].bool
|
|
77
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.EducationJobTitle = EducationJobTitle;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
function EducationJobTitle(_ref) {
|
|
12
|
+
var _ref$value = _ref.value,
|
|
13
|
+
value = _ref$value === void 0 ? '' : _ref$value,
|
|
14
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
15
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
16
|
+
_ref$hasError = _ref.hasError,
|
|
17
|
+
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
|
|
18
|
+
_ref$fieldId = _ref.fieldId,
|
|
19
|
+
fieldId = _ref$fieldId === void 0 ? 'jobTitleField' : _ref$fieldId,
|
|
20
|
+
_ref$inputId = _ref.inputId,
|
|
21
|
+
inputId = _ref$inputId === void 0 ? 'jobTitle' : _ref$inputId,
|
|
22
|
+
_ref$inputName = _ref.inputName,
|
|
23
|
+
inputName = _ref$inputName === void 0 ? 'jobTitle' : _ref$inputName,
|
|
24
|
+
_ref$isUSContract = _ref.isUSContract,
|
|
25
|
+
isUSContract = _ref$isUSContract === void 0 ? false : _ref$isUSContract;
|
|
26
|
+
var inputWrapperClassName = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--select', {
|
|
27
|
+
'o-forms-input--invalid': hasError
|
|
28
|
+
}]);
|
|
29
|
+
var availableJobTitles = ['Faculty/Other'].concat(isUSContract ? ['Graduate Student', 'Undergraduate Student'] : ['Student']);
|
|
30
|
+
return /*#__PURE__*/_react["default"].createElement("label", {
|
|
31
|
+
id: fieldId,
|
|
32
|
+
className: "o-forms-field",
|
|
33
|
+
"data-validate": "required",
|
|
34
|
+
htmlFor: inputId
|
|
35
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
36
|
+
className: "o-forms-title"
|
|
37
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
38
|
+
className: "o-forms-title__main"
|
|
39
|
+
}, "Occupation")), /*#__PURE__*/_react["default"].createElement("span", {
|
|
40
|
+
className: inputWrapperClassName
|
|
41
|
+
}, /*#__PURE__*/_react["default"].createElement("select", {
|
|
42
|
+
id: inputId,
|
|
43
|
+
name: inputName,
|
|
44
|
+
"data-trackable": "job-title",
|
|
45
|
+
"aria-required": "true",
|
|
46
|
+
required: true,
|
|
47
|
+
disabled: isDisabled,
|
|
48
|
+
defaultValue: value
|
|
49
|
+
}, /*#__PURE__*/_react["default"].createElement("option", {
|
|
50
|
+
value: ""
|
|
51
|
+
}, "Select your occupation"), availableJobTitles.map(function (jobTitle, index) {
|
|
52
|
+
return /*#__PURE__*/_react["default"].createElement("option", {
|
|
53
|
+
key: index
|
|
54
|
+
}, jobTitle);
|
|
55
|
+
})), /*#__PURE__*/_react["default"].createElement("span", {
|
|
56
|
+
className: "o-forms-input__error"
|
|
57
|
+
}, "Please enter your occupation.")));
|
|
58
|
+
}
|
|
59
|
+
EducationJobTitle.propTypes = {
|
|
60
|
+
value: _propTypes["default"].string,
|
|
61
|
+
isDisabled: _propTypes["default"].bool,
|
|
62
|
+
hasError: _propTypes["default"].bool,
|
|
63
|
+
fieldId: _propTypes["default"].string,
|
|
64
|
+
inputId: _propTypes["default"].string,
|
|
65
|
+
inputName: _propTypes["default"].string,
|
|
66
|
+
isUSContract: _propTypes["default"].bool
|
|
67
|
+
};
|
package/dist/email.jsx
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Email = Email;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
function Email(_ref) {
|
|
12
|
+
var _ref$dataTrackable = _ref.dataTrackable,
|
|
13
|
+
dataTrackable = _ref$dataTrackable === void 0 ? 'field-email' : _ref$dataTrackable,
|
|
14
|
+
_ref$description = _ref.description,
|
|
15
|
+
description = _ref$description === void 0 ? 'Please enter an email address' : _ref$description,
|
|
16
|
+
_ref$errorText = _ref.errorText,
|
|
17
|
+
errorText = _ref$errorText === void 0 ? 'This email address is not valid' : _ref$errorText,
|
|
18
|
+
_ref$fieldId = _ref.fieldId,
|
|
19
|
+
fieldId = _ref$fieldId === void 0 ? 'emailField' : _ref$fieldId,
|
|
20
|
+
_ref$hasError = _ref.hasError,
|
|
21
|
+
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
|
|
22
|
+
_ref$inputId = _ref.inputId,
|
|
23
|
+
inputId = _ref$inputId === void 0 ? 'email' : _ref$inputId,
|
|
24
|
+
_ref$isB2b = _ref.isB2b,
|
|
25
|
+
isB2b = _ref$isB2b === void 0 ? false : _ref$isB2b,
|
|
26
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
27
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
28
|
+
_ref$label = _ref.label,
|
|
29
|
+
label = _ref$label === void 0 ? '' : _ref$label,
|
|
30
|
+
_ref$placeHolder = _ref.placeHolder,
|
|
31
|
+
placeHolder = _ref$placeHolder === void 0 ? 'Enter your email address' : _ref$placeHolder,
|
|
32
|
+
_ref$value = _ref.value,
|
|
33
|
+
value = _ref$value === void 0 ? '' : _ref$value,
|
|
34
|
+
_ref$isEducationalLic = _ref.isEducationalLicence,
|
|
35
|
+
isEducationalLicence = _ref$isEducationalLic === void 0 ? false : _ref$isEducationalLic,
|
|
36
|
+
_ref$isB2cPartnership = _ref.isB2cPartnershipLicence,
|
|
37
|
+
isB2cPartnershipLicence = _ref$isB2cPartnership === void 0 ? false : _ref$isB2cPartnership,
|
|
38
|
+
_ref$showTitle = _ref.showTitle,
|
|
39
|
+
showTitle = _ref$showTitle === void 0 ? true : _ref$showTitle;
|
|
40
|
+
var labelText = label || (isB2b && !(isEducationalLicence || isB2cPartnershipLicence) ? 'Work email address' : 'Email address');
|
|
41
|
+
var inputWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', {
|
|
42
|
+
'o-forms-input--invalid': hasError
|
|
43
|
+
}]);
|
|
44
|
+
var emailTitleClassNames = (0, _classnames["default"])(['o-forms-title', {
|
|
45
|
+
ncf__hidden: !showTitle
|
|
46
|
+
}]);
|
|
47
|
+
return /*#__PURE__*/_react["default"].createElement("label", {
|
|
48
|
+
id: fieldId,
|
|
49
|
+
className: "o-forms-field ncf__validation-error",
|
|
50
|
+
"data-validate": "required,email",
|
|
51
|
+
htmlFor: inputId
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
53
|
+
className: emailTitleClassNames
|
|
54
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
55
|
+
className: "o-forms-title__main"
|
|
56
|
+
}, labelText), description && /*#__PURE__*/_react["default"].createElement("span", {
|
|
57
|
+
className: "o-forms-title__prompt"
|
|
58
|
+
}, description)), /*#__PURE__*/_react["default"].createElement("span", {
|
|
59
|
+
className: inputWrapperClassNames
|
|
60
|
+
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
61
|
+
type: "email",
|
|
62
|
+
id: inputId,
|
|
63
|
+
name: inputId,
|
|
64
|
+
placeholder: placeHolder,
|
|
65
|
+
autoComplete: "email",
|
|
66
|
+
"data-trackable": dataTrackable,
|
|
67
|
+
"aria-required": "true",
|
|
68
|
+
required: true,
|
|
69
|
+
disabled: isDisabled,
|
|
70
|
+
defaultValue: value
|
|
71
|
+
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
72
|
+
className: "o-forms-input__error"
|
|
73
|
+
}, errorText)));
|
|
74
|
+
}
|
|
75
|
+
Email.propTypes = {
|
|
76
|
+
dataTrackable: _propTypes["default"].string,
|
|
77
|
+
description: _propTypes["default"].string,
|
|
78
|
+
errorText: _propTypes["default"].string,
|
|
79
|
+
fieldId: _propTypes["default"].string,
|
|
80
|
+
hasError: _propTypes["default"].bool,
|
|
81
|
+
inputId: _propTypes["default"].string,
|
|
82
|
+
isB2b: _propTypes["default"].bool,
|
|
83
|
+
isDisabled: _propTypes["default"].bool,
|
|
84
|
+
label: _propTypes["default"].string,
|
|
85
|
+
placeHolder: _propTypes["default"].string,
|
|
86
|
+
value: _propTypes["default"].string,
|
|
87
|
+
isEducationalLicence: _propTypes["default"].bool,
|
|
88
|
+
isB2cPartnershipLicence: _propTypes["default"].bool,
|
|
89
|
+
showTitle: _propTypes["default"].bool
|
|
90
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ErrorPage = ErrorPage;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
function ErrorPage(_ref) {
|
|
11
|
+
var children = _ref.children,
|
|
12
|
+
_ref$header = _ref.header,
|
|
13
|
+
header = _ref$header === void 0 ? 'Sorry, something went wrong' : _ref$header,
|
|
14
|
+
_ref$message = _ref.message,
|
|
15
|
+
message = _ref$message === void 0 ? 'Speak to our Customer Care team now so we can help.' : _ref$message;
|
|
16
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
17
|
+
className: "ncf__wrapper ncf__center ncf__error-page"
|
|
18
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
19
|
+
className: "ncf__icon ncf__icon--error ncf__icon--large"
|
|
20
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
21
|
+
className: "ncf__paragraph"
|
|
22
|
+
}, /*#__PURE__*/_react["default"].createElement("h1", {
|
|
23
|
+
className: "ncf__header"
|
|
24
|
+
}, header), /*#__PURE__*/_react["default"].createElement("p", {
|
|
25
|
+
id: "error-message"
|
|
26
|
+
}, message)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
27
|
+
className: "ncf__error-page__content"
|
|
28
|
+
}, children), /*#__PURE__*/_react["default"].createElement("div", {
|
|
29
|
+
className: "ncf__paragraph"
|
|
30
|
+
}, /*#__PURE__*/_react["default"].createElement("p", null, "International Toll Free Number"), /*#__PURE__*/_react["default"].createElement("a", {
|
|
31
|
+
id: "error-international-number",
|
|
32
|
+
className: "ncf__header ncf__link",
|
|
33
|
+
href: "tel:+80007056477"
|
|
34
|
+
}, "+ 800 0705 6477")), /*#__PURE__*/_react["default"].createElement("div", {
|
|
35
|
+
className: "ncf__paragraph"
|
|
36
|
+
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
37
|
+
className: "ncf__link",
|
|
38
|
+
href: "https://help.ft.com/help/contact-us/"
|
|
39
|
+
}, "Find a local phone number")));
|
|
40
|
+
}
|
|
41
|
+
ErrorPage.propTypes = {
|
|
42
|
+
children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
|
|
43
|
+
header: _propTypes["default"].string,
|
|
44
|
+
message: _propTypes["default"].string
|
|
45
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Fieldset = Fieldset;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function Fieldset(_ref) {
|
|
15
|
+
var _ref$children = _ref.children,
|
|
16
|
+
children = _ref$children === void 0 ? null : _ref$children,
|
|
17
|
+
_ref$name = _ref.name,
|
|
18
|
+
name = _ref$name === void 0 ? null : _ref$name,
|
|
19
|
+
_ref$legend = _ref.legend,
|
|
20
|
+
legend = _ref$legend === void 0 ? null : _ref$legend,
|
|
21
|
+
_ref$hideLegend = _ref.hideLegend,
|
|
22
|
+
hideLegend = _ref$hideLegend === void 0 ? false : _ref$hideLegend,
|
|
23
|
+
_ref$headingLevel = _ref.headingLevel,
|
|
24
|
+
HeadingLevel = _ref$headingLevel === void 0 ? null : _ref$headingLevel,
|
|
25
|
+
_ref$header = _ref.header,
|
|
26
|
+
header = _ref$header === void 0 ? null : _ref$header,
|
|
27
|
+
_ref$descriptor = _ref.descriptor,
|
|
28
|
+
descriptor = _ref$descriptor === void 0 ? null : _ref$descriptor;
|
|
29
|
+
var fieldsetProps = _objectSpread(_objectSpread({}, name && {
|
|
30
|
+
name: name
|
|
31
|
+
}), {}, {
|
|
32
|
+
className: 'ncf__fieldset'
|
|
33
|
+
});
|
|
34
|
+
var legendClassName = (0, _classnames["default"])(['ncf__legend', {
|
|
35
|
+
'o-normalise-visually-hidden': hideLegend
|
|
36
|
+
}]);
|
|
37
|
+
var legendElement = legend ? /*#__PURE__*/_react["default"].createElement("legend", {
|
|
38
|
+
className: legendClassName
|
|
39
|
+
}, legend) : null;
|
|
40
|
+
var headingLevelElement = HeadingLevel ? /*#__PURE__*/_react["default"].createElement(HeadingLevel, {
|
|
41
|
+
className: "ncf__header"
|
|
42
|
+
}, header) : null;
|
|
43
|
+
var descriptorElement = descriptor ? /*#__PURE__*/_react["default"].createElement("p", {
|
|
44
|
+
className: "ncf__fieldset-descriptor"
|
|
45
|
+
}, descriptor) : null;
|
|
46
|
+
return /*#__PURE__*/_react["default"].createElement("fieldset", fieldsetProps, legendElement, headingLevelElement, descriptorElement, /*#__PURE__*/_react["default"].createElement("div", {
|
|
47
|
+
className: "ncf__fields"
|
|
48
|
+
}, children));
|
|
49
|
+
}
|
|
50
|
+
Fieldset.propTypes = {
|
|
51
|
+
children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
|
|
52
|
+
name: _propTypes["default"].string,
|
|
53
|
+
legend: _propTypes["default"].string,
|
|
54
|
+
hideLegend: _propTypes["default"].bool,
|
|
55
|
+
headingLevel: _propTypes["default"].string,
|
|
56
|
+
header: _propTypes["default"].node,
|
|
57
|
+
descriptor: _propTypes["default"].node
|
|
58
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FirstName = FirstName;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
function FirstName(_ref) {
|
|
12
|
+
var _ref$dataTrackable = _ref.dataTrackable,
|
|
13
|
+
dataTrackable = _ref$dataTrackable === void 0 ? 'field-name' : _ref$dataTrackable,
|
|
14
|
+
_ref$errorText = _ref.errorText,
|
|
15
|
+
errorText = _ref$errorText === void 0 ? 'Please enter your first name' : _ref$errorText,
|
|
16
|
+
_ref$fieldId = _ref.fieldId,
|
|
17
|
+
fieldId = _ref$fieldId === void 0 ? 'firstNameField' : _ref$fieldId,
|
|
18
|
+
_ref$hasError = _ref.hasError,
|
|
19
|
+
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
|
|
20
|
+
_ref$inputId = _ref.inputId,
|
|
21
|
+
inputId = _ref$inputId === void 0 ? 'firstName' : _ref$inputId,
|
|
22
|
+
inputName = _ref.inputName,
|
|
23
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
24
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
25
|
+
_ref$label = _ref.label,
|
|
26
|
+
label = _ref$label === void 0 ? 'First name' : _ref$label,
|
|
27
|
+
_ref$placeHolder = _ref.placeHolder,
|
|
28
|
+
placeHolder = _ref$placeHolder === void 0 ? 'Enter your first name' : _ref$placeHolder,
|
|
29
|
+
_ref$value = _ref.value,
|
|
30
|
+
value = _ref$value === void 0 ? '' : _ref$value;
|
|
31
|
+
// Use inputId if inputName is not explicitly passed.
|
|
32
|
+
inputName = inputName || inputId;
|
|
33
|
+
var inputWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', {
|
|
34
|
+
'o-forms-input--invalid': hasError
|
|
35
|
+
}]);
|
|
36
|
+
return /*#__PURE__*/_react["default"].createElement("label", {
|
|
37
|
+
id: fieldId,
|
|
38
|
+
className: "o-forms-field ncf__validation-error",
|
|
39
|
+
"data-validate": "required",
|
|
40
|
+
htmlFor: inputId
|
|
41
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
42
|
+
className: "o-forms-title"
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
44
|
+
className: "o-forms-title__main"
|
|
45
|
+
}, label)), /*#__PURE__*/_react["default"].createElement("span", {
|
|
46
|
+
className: inputWrapperClassNames
|
|
47
|
+
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
48
|
+
type: "text",
|
|
49
|
+
id: inputId,
|
|
50
|
+
name: inputName,
|
|
51
|
+
placeholder: placeHolder,
|
|
52
|
+
autoComplete: "given-name",
|
|
53
|
+
"data-trackable": dataTrackable,
|
|
54
|
+
"aria-required": "true",
|
|
55
|
+
required: true,
|
|
56
|
+
disabled: isDisabled,
|
|
57
|
+
defaultValue: value
|
|
58
|
+
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
59
|
+
className: "o-forms-input__error"
|
|
60
|
+
}, errorText)));
|
|
61
|
+
}
|
|
62
|
+
FirstName.propTypes = {
|
|
63
|
+
dataTrackable: _propTypes["default"].string,
|
|
64
|
+
errorText: _propTypes["default"].string,
|
|
65
|
+
fieldId: _propTypes["default"].string,
|
|
66
|
+
hasError: _propTypes["default"].bool,
|
|
67
|
+
inputId: _propTypes["default"].string,
|
|
68
|
+
inputName: _propTypes["default"].string,
|
|
69
|
+
isDisabled: _propTypes["default"].bool,
|
|
70
|
+
label: _propTypes["default"].string,
|
|
71
|
+
placeHolder: _propTypes["default"].string,
|
|
72
|
+
value: _propTypes["default"].string
|
|
73
|
+
};
|
package/dist/form.jsx
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Form = Form;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
function Form(_ref) {
|
|
11
|
+
var children = _ref.children,
|
|
12
|
+
_ref$action = _ref.action,
|
|
13
|
+
action = _ref$action === void 0 ? '' : _ref$action,
|
|
14
|
+
_ref$method = _ref.method,
|
|
15
|
+
method = _ref$method === void 0 ? 'POST' : _ref$method;
|
|
16
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
17
|
+
className: "ncf__wrapper"
|
|
18
|
+
}, /*#__PURE__*/_react["default"].createElement("form", {
|
|
19
|
+
className: "ncf",
|
|
20
|
+
action: action,
|
|
21
|
+
method: method,
|
|
22
|
+
noValidate: true
|
|
23
|
+
}, children));
|
|
24
|
+
}
|
|
25
|
+
Form.propTypes = {
|
|
26
|
+
children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
|
|
27
|
+
action: _propTypes["default"].string,
|
|
28
|
+
method: _propTypes["default"].string
|
|
29
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GoogleSignIn = GoogleSignIn;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
function GoogleSignIn(_ref) {
|
|
11
|
+
var signInRedirectUrl = _ref.signInRedirectUrl;
|
|
12
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("link", {
|
|
13
|
+
href: "https://fonts.googleapis.com/css?family=Roboto",
|
|
14
|
+
rel: "stylesheet"
|
|
15
|
+
}), /*#__PURE__*/_react["default"].createElement("base", {
|
|
16
|
+
target: "_parent"
|
|
17
|
+
}), /*#__PURE__*/_react["default"].createElement("a", {
|
|
18
|
+
className: "google_button",
|
|
19
|
+
href: signInRedirectUrl
|
|
20
|
+
}, "Sign in with Google"));
|
|
21
|
+
}
|
|
22
|
+
GoogleSignIn.propTypes = {
|
|
23
|
+
signInRedirectUrl: _propTypes["default"].string.isRequired
|
|
24
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Compliance = void 0;
|
|
8
|
+
exports.GraduationDate = GraduationDate;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
var getMonthNameByIndex = function getMonthNameByIndex(index) {
|
|
14
|
+
return new Date(null, index, null).toLocaleDateString('en', {
|
|
15
|
+
month: 'long'
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
var Compliance = function Compliance() {
|
|
19
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
20
|
+
id: "graduationDateCompliance",
|
|
21
|
+
className: "ncf__field ncf__gd-compliance"
|
|
22
|
+
}, /*#__PURE__*/_react["default"].createElement("p", null, "We use the information you provide, and may share it with your institution, for the purposes of administering your institution's licence for", ' ', /*#__PURE__*/_react["default"].createElement("a", {
|
|
23
|
+
className: "ncf__link--external",
|
|
24
|
+
href: "https://ft.com/",
|
|
25
|
+
title: "Financial Times",
|
|
26
|
+
target: "_blank",
|
|
27
|
+
rel: "noopener noreferrer"
|
|
28
|
+
}, "FT.com.", ' ')), /*#__PURE__*/_react["default"].createElement("p", null, "We may also use it to ensure our communications to you are more relevant. If you do not wish us to do so, you can amend your preferences at any time", ' ', /*#__PURE__*/_react["default"].createElement("a", {
|
|
29
|
+
className: "ncf__link--external",
|
|
30
|
+
href: "http://www.ft.com/myft/alerts/",
|
|
31
|
+
title: "Financial Times",
|
|
32
|
+
target: "_blank",
|
|
33
|
+
rel: "noopener noreferrer"
|
|
34
|
+
}, "here")));
|
|
35
|
+
};
|
|
36
|
+
exports.Compliance = Compliance;
|
|
37
|
+
function GraduationDate(_ref) {
|
|
38
|
+
var value = _ref.value,
|
|
39
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
40
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
41
|
+
_ref$isRequired = _ref.isRequired,
|
|
42
|
+
isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
|
|
43
|
+
_ref$hasError = _ref.hasError,
|
|
44
|
+
hasError = _ref$hasError === void 0 ? false : _ref$hasError;
|
|
45
|
+
var currentYear = new Date().getUTCFullYear();
|
|
46
|
+
var earliestSelectableYear = currentYear - 4;
|
|
47
|
+
var defaultValues = value && value.trim().match(/^([0-9]{4})-(0[0-9]|1[012])-[0-9]{2}$/);
|
|
48
|
+
var _ref2 = defaultValues || [],
|
|
49
|
+
_ref3 = (0, _slicedToArray2["default"])(_ref2, 3),
|
|
50
|
+
defaultYear = _ref3[1],
|
|
51
|
+
defaultMonth = _ref3[2];
|
|
52
|
+
var inputWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--select', {
|
|
53
|
+
'o-forms-input--invalid': hasError
|
|
54
|
+
}]);
|
|
55
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
56
|
+
id: "graduationDateField",
|
|
57
|
+
className: "o-forms-field ncf__validation-error ncf__graduation-date",
|
|
58
|
+
"data-validate": "required"
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
60
|
+
className: "o-forms-title",
|
|
61
|
+
role: "group",
|
|
62
|
+
"aria-labelledby": "graduationTitleMain"
|
|
63
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
64
|
+
className: "o-forms-title__main",
|
|
65
|
+
id: "graduationTitleMain"
|
|
66
|
+
}, "Expected graduation date")), /*#__PURE__*/_react["default"].createElement("div", {
|
|
67
|
+
className: inputWrapperClassNames
|
|
68
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
69
|
+
className: "ncf__graduation-date__select-wrapper"
|
|
70
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
71
|
+
htmlFor: "graduationDateMonth"
|
|
72
|
+
}, "Month"), /*#__PURE__*/_react["default"].createElement("select", {
|
|
73
|
+
id: "graduationDateMonth",
|
|
74
|
+
name: "graduationDateMonth",
|
|
75
|
+
required: isRequired,
|
|
76
|
+
"aria-required": isRequired,
|
|
77
|
+
disabled: isDisabled,
|
|
78
|
+
defaultValue: defaultMonth
|
|
79
|
+
}, Array.from({
|
|
80
|
+
length: 12
|
|
81
|
+
}, function (_, index) {
|
|
82
|
+
return /*#__PURE__*/_react["default"].createElement("option", {
|
|
83
|
+
key: index,
|
|
84
|
+
value: (index + 1).toString(10).padStart(2, '0')
|
|
85
|
+
}, getMonthNameByIndex(index + 1));
|
|
86
|
+
}))), /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
87
|
+
htmlFor: "graduationDateYear"
|
|
88
|
+
}, "Year"), /*#__PURE__*/_react["default"].createElement("select", {
|
|
89
|
+
id: "graduationDateYear",
|
|
90
|
+
name: "graduationDateYear",
|
|
91
|
+
required: isRequired,
|
|
92
|
+
"aria-required": isRequired,
|
|
93
|
+
disabled: isDisabled,
|
|
94
|
+
defaultValue: defaultYear
|
|
95
|
+
}, Array.from({
|
|
96
|
+
length: 9
|
|
97
|
+
}, function (_, index) {
|
|
98
|
+
var value = earliestSelectableYear + index;
|
|
99
|
+
return /*#__PURE__*/_react["default"].createElement("option", {
|
|
100
|
+
key: index,
|
|
101
|
+
value: value
|
|
102
|
+
}, value);
|
|
103
|
+
})))), /*#__PURE__*/_react["default"].createElement("span", {
|
|
104
|
+
className: "o-forms-input__error"
|
|
105
|
+
}, "Please select a valid graduation date")), /*#__PURE__*/_react["default"].createElement(Compliance, null));
|
|
106
|
+
}
|
|
107
|
+
GraduationDate.propTypes = {
|
|
108
|
+
value: _propTypes["default"].string,
|
|
109
|
+
isDisabled: _propTypes["default"].bool,
|
|
110
|
+
isRequired: _propTypes["default"].bool,
|
|
111
|
+
hasError: _propTypes["default"].bool
|
|
112
|
+
};
|