elliptical-email
Version:
lacona phrase for matching an email address
37 lines (29 loc) • 940 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.EmailAddress = undefined;
var _elliptical = require('elliptical');
var defaultProps = {
label: 'email address'
}; /** @jsx createElement */
function suppressWhen(input) {
return (/^[\d\w_+.-]+(|@[\d\w_-]{0,63}|@[\d\w_-]{1,63}\.\w?)$/.test(input)
);
}
function filter(input) {
return (/^[\d\w_+.-]+@[\d\w_.-]{1,63}\.\w{2,63}$/.test(input)
);
}
function describe(_ref) {
var props = _ref.props;
return (0, _elliptical.createElement)(
'placeholder',
{
label: props.label,
arguments: props.phraseArguments || (props.phraseArguments ? [props.phraseArgument] : [props.label]),
suppressWhen: suppressWhen },
(0, _elliptical.createElement)('freetext', { filter: filter })
);
}
var EmailAddress = exports.EmailAddress = { defaultProps: defaultProps, describe: describe, id: 'elliptical-email:EmailAddress' };