UNPKG

elliptical-email

Version:
37 lines (29 loc) 940 B
'use strict'; 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' };