Socket
Socket
Sign inDemoInstall

react-input-message

Package Overview
Dependencies
5
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.5.8 to 0.6.0

.babelrc

4

gulpfile.js
'use strict';
var gulp = require('gulp')
, less = require('gulp-less')
, toFive = require("gulp-babel")
, babelTransform = require("gulp-babel-helpers")
, rimraf = require('rimraf')

@@ -37,3 +37,3 @@ , rename = require('gulp-rename')

.pipe(plumber())
.pipe(toFive(configs.to5Config))
.pipe(babelTransform('./util/babelHelpers.js'))
.pipe(rename({ extname: '.js' }))

@@ -40,0 +40,0 @@ .pipe(gulp.dest('./lib'));

@@ -1,9 +0,7 @@

var _inherits = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };
'use strict';
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
var babelHelpers = require('./util/babelHelpers.js');
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var React = require('react');
var React = require("react");
var stringOrArrayofStrings = React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.arrayOf(React.PropTypes.string)]);

@@ -14,3 +12,3 @@

function MessageListener() {
_classCallCheck(this, MessageListener);
babelHelpers.classCallCheck(this, MessageListener);

@@ -22,15 +20,6 @@ if (_React$Component != null) {

_inherits(MessageListener, _React$Component);
babelHelpers.inherits(MessageListener, _React$Component);
MessageListener.propTypes = {
for: stringOrArrayofStrings,
group: stringOrArrayofStrings
};
MessageListener.contextTypes = {
messages: React.PropTypes.func,
listen: React.PropTypes.func
};
MessageListener.prototype.getContext = function getContext() {
return process.env.NODE_ENV !== "production" ? this.context : this._reactInternalInstance._context;
return process.env.NODE_ENV !== 'production' ? this.context : this._reactInternalInstance._context;
};

@@ -53,7 +42,7 @@

MessageListener.prototype.render = function render() {
return React.createElement(Component, _extends({}, this.props, this.state));
return React.createElement(Component, babelHelpers._extends({}, this.props, this.state));
};
MessageListener.prototype._getValidationState = function _getValidationState() {
var messages = this.getContext().messages(this.props.for, this.props.group);
var messages = this.getContext().messages(this.props['for'], this.props.group);

@@ -66,4 +55,19 @@ return {

babelHelpers.createClass(MessageListener, null, [{
key: 'propTypes',
value: {
'for': stringOrArrayofStrings,
group: stringOrArrayofStrings
},
enumerable: true
}, {
key: 'contextTypes',
value: {
messages: React.PropTypes.func,
listen: React.PropTypes.func
},
enumerable: true
}]);
return MessageListener;
})(React.Component);
};

@@ -1,14 +0,14 @@

"use strict";
'use strict';
module.exports = {
Validator: require("./Validator"),
Validator: require('./Validator'),
MessageContainer: require("./MessageContainer"),
MessageContainer: require('./MessageContainer'),
MessageTrigger: require("./MessageTrigger"),
MessageTrigger: require('./MessageTrigger'),
Message: require("./Message"),
Message: require('./Message'),
connectToMessageContainer: require("./connectToMessageContainer")
connectToMessageContainer: require('./connectToMessageContainer')
};

@@ -1,14 +0,10 @@

"use strict";
'use strict';
var _objectWithoutProperties = function (obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; };
var babelHelpers = require('./util/babelHelpers.js');
var _inherits = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };
var React = require('react'),
cn = require('classnames'),
connectToMessageContainer = require('./connectToMessageContainer');
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
var React = require("react"),
cn = require("classnames"),
connectToMessageContainer = require("./connectToMessageContainer");
var values = function (obj) {
var values = function values(obj) {
return Object.keys(obj).map(function (k) {

@@ -18,3 +14,3 @@ return obj[k];

};
var flatten = function (arr, next) {
var flatten = function flatten(arr, next) {
return arr.concat(next);

@@ -25,3 +21,3 @@ };

function Message() {
_classCallCheck(this, Message);
babelHelpers.classCallCheck(this, Message);

@@ -33,9 +29,4 @@ if (_React$Component != null) {

_inherits(Message, _React$Component);
babelHelpers.inherits(Message, _React$Component);
Message.defaultProps = {
component: "span",
delim: ", "
};
Message.prototype.render = function render() {

@@ -47,6 +38,5 @@ var _props = this.props;

var delim = _props.delim;
var fieldFor = _props.for;
var fieldFor = _props['for'];
var props = babelHelpers.objectWithoutProperties(_props, ['component', 'messages', 'active', 'delim', 'for']);
var props = _objectWithoutProperties(_props, ["component", "messages", "active", "delim", "for"]);
if (!active) return null;

@@ -61,2 +51,10 @@

babelHelpers.createClass(Message, null, [{
key: 'defaultProps',
value: {
component: 'span',
delim: ', '
},
enumerable: true
}]);
return Message;

@@ -63,0 +61,0 @@ })(React.Component);

@@ -1,14 +0,10 @@

"use strict";
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var babelHelpers = require('./util/babelHelpers.js');
var _inherits = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };
var React = require('react'),
ReactElement = require('react/lib/ReactElement');
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
var React = require("react"),
ReactElement = require("react/lib/ReactElement");
var Promise = require("es6-promise").Promise,
uniq = function (array) {
var Promise = require('es6-promise').Promise,
uniq = function uniq(array) {
return array.filter(function (item, idx) {

@@ -19,3 +15,3 @@ return array.indexOf(item) == idx;

var has = function (obj, key) {
var has = function has(obj, key) {
return obj && ({}).hasOwnProperty.call(obj, key);

@@ -26,3 +22,3 @@ };

function ValidationContainer(props, context) {
_classCallCheck(this, ValidationContainer);
babelHelpers.classCallCheck(this, ValidationContainer);

@@ -41,24 +37,4 @@ _React$Component.call(this, props, context);

_inherits(ValidationContainer, _React$Component);
babelHelpers.inherits(ValidationContainer, _React$Component);
ValidationContainer.defaultProps = {
messages: Object.create(null)
};
ValidationContainer.propTypes = {
messages: React.PropTypes.object,
onValidationNeeded: React.PropTypes.func.isRequired
};
ValidationContainer.childContextTypes = {
onValidateField: React.PropTypes.func,
onValidateGroup: React.PropTypes.func,
messages: React.PropTypes.func,
register: React.PropTypes.func,
unregister: React.PropTypes.func,
listen: React.PropTypes.func
};
ValidationContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {

@@ -86,3 +62,3 @@ this.setState({

listen: function (fn) {
listen: function listen(fn) {
_this._handlers.push(fn);

@@ -94,3 +70,3 @@ return function () {

register: function (names, group, target) {
register: function register(names, group, target) {
names = [].concat(names);

@@ -109,12 +85,10 @@

onValidateField: function (field, event, target, args) {
_this.props.onValidationNeeded && _this.props.onValidationNeeded({ event: event, field: field, args: args, target: target });
onValidateFields: function onValidateFields(fields, event, target, args) {
_this.props.onValidationNeeded && _this.props.onValidationNeeded({ event: event, fields: fields, args: args, target: target });
},
onValidateGroup: function (group, event, target, args) {
var inputs = _this.fields(group);
onValidateGroup: function onValidateGroup(group, event, target, args) {
var fields = _this.fields(group);
inputs.forEach(function (field) {
_this.props.onValidationNeeded && _this.props.onValidationNeeded({ event: event, field: field, args: args, target: _this._fields[field] });
});
_this.props.onValidationNeeded && _this.props.onValidationNeeded({ event: event, fields: fields, args: args, target: target });
}

@@ -125,3 +99,3 @@ });

ValidationContainer.prototype.addField = function addField(name, group, target) {
var _this = this;
var _this2 = this;

@@ -133,5 +107,5 @@ if (!name) return;

if (!(!group || !group.length)) [].concat(group).forEach(function (grp) {
if (!has(_this._groups, grp)) return _this._groups[grp] = [name];
if (!has(_this2._groups, grp)) return _this2._groups[grp] = [name];
if (_this._groups[grp].indexOf(name) === -1) _this._groups[grp].push(name);
if (_this2._groups[grp].indexOf(name) === -1) _this2._groups[grp].push(name);
});

@@ -141,8 +115,8 @@ };

ValidationContainer.prototype.removeField = function removeField(name, group) {
var _this = this;
var _this3 = this;
var remove = function (name, group) {
var idx = _this._groups[group].indexOf(name);
var remove = function remove(name, group) {
var idx = _this3._groups[group].indexOf(name);
if (idx !== -1) _this._groups[group].splice(idx, 1);
if (idx !== -1) _this3._groups[group].splice(idx, 1);
};

@@ -164,3 +138,3 @@

ValidationContainer.prototype.fields = function fields(groups) {
var _this = this;
var _this4 = this;

@@ -172,3 +146,3 @@ var isGroup = !(!groups || !groups.length);

return isGroup ? uniq(groups.reduce(function (fields, group) {
return fields.concat(_this._groups[group]);
return fields.concat(_this4._groups[group]);
}, [])) : Object.keys(this._fields);

@@ -184,6 +158,6 @@ };

ValidationContainer.prototype._messages = function _messages(names, groups) {
var _this = this;
var _this5 = this;
if (!names || !names.length) {
if (!groups || !groups.length) return _extends({}, this.props.messages);
if (!groups || !groups.length) return babelHelpers._extends({}, this.props.messages);

@@ -194,3 +168,3 @@ names = this.fields(groups);

return [].concat(names).reduce(function (o, name) {
if (_this.props.messages[name]) o[name] = _this.props.messages[name];
if (_this5.props.messages[name]) o[name] = _this5.props.messages[name];

@@ -201,2 +175,31 @@ return o;

babelHelpers.createClass(ValidationContainer, null, [{
key: 'defaultProps',
value: {
messages: Object.create(null)
},
enumerable: true
}, {
key: 'propTypes',
value: {
messages: React.PropTypes.object,
onValidationNeeded: React.PropTypes.func.isRequired
},
enumerable: true
}, {
key: 'childContextTypes',
value: {
onValidateFields: React.PropTypes.func,
onValidateGroup: React.PropTypes.func,
messages: React.PropTypes.func,
register: React.PropTypes.func,
unregister: React.PropTypes.func,
listen: React.PropTypes.func
},
enumerable: true
}]);
return ValidationContainer;

@@ -207,3 +210,3 @@ })(React.Component);

if (process.env.NODE_ENV !== "production") {
if (process.env.NODE_ENV !== 'production') {
// this is to avoid the warning but its hacky so lets do it a less hacky way in production

@@ -216,3 +219,3 @@ return attachChildren(React.Children.only(props.children), context);

if (typeof children === "string" || React.isValidElement(children)) return clone(children);
if (typeof children === 'string' || React.isValidElement(children)) return clone(children);

@@ -226,6 +229,6 @@ return React.Children.map(children, clone);

if (props.children) props = _extends({}, child.props, { children: attachChildren(props.children, context) });
if (props.children) props = babelHelpers._extends({}, child.props, { children: attachChildren(props.children, context) });
return new ReactElement(child.type, child.key, child.ref, child._owner, _extends({}, child._context, context), props);
return new ReactElement(child.type, child.key, child.ref, child._owner, babelHelpers._extends({}, child._context, context), props);
}
}

@@ -1,13 +0,9 @@

"use strict";
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var babelHelpers = require('./util/babelHelpers.js');
var _inherits = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };
var React = require('react'),
cn = require('classnames'),
connectToMessageContainer = require('./connectToMessageContainer');
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
var React = require("react"),
cn = require("classnames"),
connectToMessageContainer = require("./connectToMessageContainer");
var stringOrArrayOfStrings = React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.arrayOf(React.PropTypes.string)]);

@@ -17,3 +13,3 @@

function MessageTrigger() {
_classCallCheck(this, MessageTrigger);
babelHelpers.classCallCheck(this, MessageTrigger);

@@ -25,27 +21,10 @@ if (_React$Component != null) {

_inherits(MessageTrigger, _React$Component);
babelHelpers.inherits(MessageTrigger, _React$Component);
MessageTrigger.propTypes = {
events: React.PropTypes.arrayOf(React.PropTypes.string),
activeClass: React.PropTypes.string,
for: stringOrArrayOfStrings,
group: stringOrArrayOfStrings
};
MessageTrigger.contextTypes = {
onValidateField: React.PropTypes.func,
onValidateGroup: React.PropTypes.func,
register: React.PropTypes.func
};
MessageTrigger.defaultProps = {
events: ["onChange"],
activeClass: "message-active"
};
MessageTrigger.prototype.getContext = function getContext() {
return process.env.NODE_ENV !== "production" ? this.context : this._reactInternalInstance._context;
return process.env.NODE_ENV !== 'production' ? this.context : this._reactInternalInstance._context;
};
MessageTrigger.prototype.componentWillMount = function componentWillMount() {
this._unregister = this.getContext().register(this.props.for, this.props.group, this);
this._unregister = this.getContext().register(this.props['for'], this.props.group, this);
};

@@ -59,17 +38,15 @@

this._unregister();
this._unregister = this.getContext().register(nextProps.for, nextProps.group, this);
this._unregister = this.getContext().register(nextProps['for'], nextProps.group, this);
};
MessageTrigger.prototype.render = function render() {
var _cn;
var errClass = this.props.activeClass,
active = this.props.for && this.props.active,
active = this.props['for'] && this.props.active,
child = React.Children.only(this.props.children);
return React.cloneElement(child, _extends({}, this._events(child.props), {
return React.cloneElement(child, babelHelpers._extends({}, this._events(child.props), {
className: cn(child.props.className, (function () {
var _cn = {};
_cn[errClass] = active;
return _cn;
})())
className: cn(child.props.className, (_cn = {}, _cn[errClass] = active, _cn))
}));

@@ -90,4 +67,2 @@ };

MessageTrigger.prototype._notify = function _notify(handler, event) {
var _this = this;
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {

@@ -98,7 +73,5 @@ args[_key - 2] = arguments[_key];

var context = this.getContext(),
forProps = this.props.for ? [].concat(this.props.for) : [];
forProps = this.props['for'] ? [].concat(this.props['for']) : [];
if (forProps.length) [].concat(forProps).forEach(function (path) {
return context.onValidateField(path, event, _this, args);
});else context.onValidateGroup(this.props.group, event, this, args);
if (forProps.length) context.onValidateFields(forProps, event, this, args);else context.onValidateGroup(this.props.group, event, this, args);

@@ -108,2 +81,28 @@ handler && handler.apply(this, args);

babelHelpers.createClass(MessageTrigger, null, [{
key: 'propTypes',
value: {
events: React.PropTypes.arrayOf(React.PropTypes.string),
activeClass: React.PropTypes.string,
'for': stringOrArrayOfStrings,
group: stringOrArrayOfStrings
},
enumerable: true
}, {
key: 'contextTypes',
value: {
onValidateFields: React.PropTypes.func,
onValidateGroup: React.PropTypes.func,
register: React.PropTypes.func
},
enumerable: true
}, {
key: 'defaultProps',
value: {
events: ['onChange'],
activeClass: 'message-active'
},
enumerable: true
}]);
return MessageTrigger;

@@ -110,0 +109,0 @@ })(React.Component);

@@ -1,15 +0,13 @@

"use strict";
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var babelHelpers = require('./util/babelHelpers.js');
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
var React = require('react'),
ReactElement = require('react/lib/ReactElement');
var React = require("react"),
ReactElement = require("react/lib/ReactElement");
var Promise = require('es6-promise').Promise;
var Promise = require("es6-promise").Promise;
var Validator = (function () {
function Validator(validate) {
_classCallCheck(this, Validator);
babelHelpers.classCallCheck(this, Validator);

@@ -23,3 +21,3 @@ this._validator = validate;

if (!names || !names.length) return _extends({}, this._errors);
if (!names || !names.length) return babelHelpers._extends({}, this._errors);

@@ -38,6 +36,6 @@ return [].concat(names).reduce(function (o, name) {

Validator.prototype.validate = function validate(name, context) {
var _this = this;
var _this2 = this;
var fields = [].concat(name).map(function (key) {
return _this._validateField(key, context);
return _this2._validateField(key, context);
});

@@ -51,10 +49,10 @@

Validator.prototype._validateField = function _validateField(name, context) {
var _this = this;
var _this3 = this;
return new Promise(function (resolve, reject) {
Promise.resolve(_this._validator(name, context)).then(function (msgs) {
Promise.resolve(_this3._validator(name, context)).then(function (msgs) {
msgs = msgs == null ? [] : [].concat(msgs);
if (msgs.length) _this._addError(name, msgs);
if (msgs.length) _this3._addError(name, msgs);
resolve(!msgs.length);
}).catch(reject);
})['catch'](reject);
});

@@ -68,6 +66,6 @@ };

Validator.prototype._removeError = function _removeError(fields) {
var _this = this;
var _this4 = this;
[].concat(fields).forEach(function (field) {
return delete _this._errors[field];
return delete _this4._errors[field];
});

@@ -74,0 +72,0 @@ };

{
"name": "react-input-message",
"description": "unopinionated form input annotation",
"version": "0.5.8",
"version": "0.6.0",
"repository": {

@@ -15,3 +15,3 @@ "url": "git://github.com/jquense/react-input-message.git"

"scripts": {
"test": ""
"test": "karma start --single-run"
},

@@ -26,4 +26,6 @@ "dependencies": {

"devDependencies": {
"babel": "^4.0.0",
"babel-loader": "^4.0.0",
"babel": "^5.2.16",
"babel-core": "^5.4.3",
"babel-loader": "^5.0.0",
"babel-plugin-object-assign": "^1.1.0",
"chai": "^1.10.0",

@@ -33,3 +35,3 @@ "chai-as-promised": "^4.1.1",

"gulp": "^3.8.10",
"gulp-babel": "^4.0.0",
"gulp-babel-helpers": "^2.1.0",
"gulp-less": "^2.0.1",

@@ -39,2 +41,3 @@ "gulp-plumber": "^0.6.6",

"imports-loader": "^0.6.3",
"jq-release": "*",
"karma": "~0.12.23",

@@ -52,3 +55,2 @@ "karma-mocha": "~0.1.9",

"react-widgets": "^2.4.1",
"jq-release": "*",
"rimraf": "^2.2.8",

@@ -55,0 +57,0 @@ "sinon-chai": "^2.6.0",

@@ -55,2 +55,3 @@ # react-input-message

`react-input-message` exports 3 simple components and a utility class:

@@ -93,3 +94,3 @@

- `validate(field|fields, [ context ])` returns a promise that resolves with the valid state of the field. You can validate multiple fields by passing an array. You can also pass in a `context` object which will be passed to the `validationFn`
- `validate(fields, [ context ])` returns a promise that resolves with the valid state of the field. You can validate multiple fields by passing an array. You can also pass in a `context` object which will be passed to the `validationFn`
- `isValid`: checks if a field is currently in an error state

@@ -96,0 +97,0 @@ - `errors([fields])`: return a hash of errors, you can pass this object directly to a `MessageContainer` messages prop

@@ -33,6 +33,6 @@ var React = require('react/addons')

spy.should.have.been.calledOnce
spy.args[0][0].field.should.equal('fieldA')
spy.args[0][0].fields.should.eql(['fieldA'])
})
it.only('should trigger event for each path', function(){
it('should trigger event once with multiple fields', function(){
var spy = sinon.spy()

@@ -50,6 +50,5 @@ , inst = utils.renderIntoDocument(

spy.should.have.been.calledTwice
spy.args[0][0].field.should.equal('fieldA')
spy.args[1][0].field.should.equal('fieldB')
spy.should.have.been.calledOnce
spy.args[0][0].fields.should.eql(['fieldA', 'fieldB'])
})
})
var config = {
experimental: true,
playground: true,
loose: ['all'],
whitelist: [
'es6.classes',
'es6.modules',
'es6.spread',
'es6.blockScoping',
'es6.arrowFunctions',
'es6.properties.computed',
'es6.properties.shorthand',
'es6.parameters.default',
'es6.parameters.rest',
'es6.templateLiterals',
'es7.objectRestSpread',
'react'
]
}
module.exports = {
to5Config: config,
dev: {

@@ -46,4 +23,3 @@ devtool: 'source-map',

loader: 'babel-loader',
exclude: /node_modules/,
query: config
exclude: /node_modules/
}

@@ -70,4 +46,3 @@ ]

loader: 'babel-loader',
exclude: /node_modules/,
query: config
exclude: /node_modules/
}

@@ -74,0 +49,0 @@ ]

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc