elliptical-phone
Version:
elliptical phrase for matching a phone number
38 lines (29 loc) • 927 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PhoneNumber = undefined;
var _elliptical = require('elliptical');
function suppressWhen(input) {
return (/^\+?\(?(\d[ ()/-]{0,2}){0,6}$/.test(input)
);
} /** @jsx createElement */
function filter(input) {
return (/^\+?\(?(\d[ ()/-]{0,2}){7,15}$/.test(input)
);
}
var defaultProps = {
label: 'phone number'
};
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, splitOn: /[^0-9()+-]/ })
);
}
var PhoneNumber = exports.PhoneNumber = { describe: describe, defaultProps: defaultProps, id: 'elliptical-phone:PhoneNumber' };