UNPKG

@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).

70 lines (69 loc) 2.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.DeliveryCity = DeliveryCity; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _supportedCountries = require("../helpers/supportedCountries"); function DeliveryCity(_ref) { var _ref$hasError = _ref.hasError, hasError = _ref$hasError === void 0 ? false : _ref$hasError, _ref$value = _ref.value, value = _ref$value === void 0 ? '' : _ref$value, _ref$isDisabled = _ref.isDisabled, isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled, _ref$country = _ref.country, country = _ref$country === void 0 ? 'GBR' : _ref$country; var inputWrapperClassName = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', { 'o-forms-input--invalid': hasError }]); var inputPlaceholder = { GBR: 'e.g. Bath', USA: 'e.g. Los Angeles', CAN: 'e.g. Montreal', ARE: 'e.g. Dubai' }; var shippingZone = (0, _supportedCountries.identifyShippingZone)(country); var labelMapping = { ARE: 'Emirate or City', APAC: 'City/Prefecture', DEFAULT: 'City' }; var inputLabel = labelMapping[shippingZone] ? labelMapping[shippingZone] : labelMapping['DEFAULT']; return /*#__PURE__*/_react["default"].createElement("label", { id: "deliveryCityField", className: "o-forms-field ncf__validation-error", "data-validate": "required", htmlFor: "deliveryCity" }, /*#__PURE__*/_react["default"].createElement("span", { className: "o-forms-title" }, /*#__PURE__*/_react["default"].createElement("span", { className: "o-forms-title__main" }, inputLabel)), /*#__PURE__*/_react["default"].createElement("span", { className: inputWrapperClassName }, /*#__PURE__*/_react["default"].createElement("input", { type: "text", id: "deliveryCity", name: "deliveryCity", "data-trackable": "field-deliveryCity", autoComplete: "address-level2", placeholder: inputPlaceholder[country] || '', maxLength: 40, "aria-required": "true", required: true, disabled: isDisabled, defaultValue: value }), /*#__PURE__*/_react["default"].createElement("span", { className: "o-forms-input__error" }, "Please enter a valid city or town"))); } DeliveryCity.propTypes = { hasError: _propTypes["default"].bool, value: _propTypes["default"].string, isDisabled: _propTypes["default"].bool, maxlength: _propTypes["default"].number, country: _propTypes["default"].string };