Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

material-ui

Package Overview
Dependencies
Maintainers
4
Versions
167
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

material-ui - npm Package Compare versions

Comparing version 0.7.3 to 0.7.4

27

CHANGELOG.md

@@ -0,1 +1,28 @@

## 0.7.4
###### _Apr. 21, 2015_
##### General
- Updated to react v0.13
##### Components
- AppBar
- Fixed IE toString.Call() issue (#518, #468)
- Buttons
- Button events now do not fire on disabled buttons (#512)
- Fixed rapid keyboard tabbing issue (#528)
- DatePicker
- Added autoOk, minDate, and maxDate props (#538)
- Dialog
- Fixed IE toString.Call() issue (#518, #468)
- Added modal prop (#523)
- Fixed warnings caused by overwriting props (#500)
- Added ability to give an action button autofocus (#552)
- DropDownMenu
- Handle selectIndex less than 0 (#480)
- Fixed issue of using this component outside strict mode (#533)
- LeftNav
- Added onNavOpen & onNavClose events (#495)
- Switches
- Fixed errors on disabled switches on mobile (#476)
## 0.7.3

@@ -2,0 +29,0 @@ ###### _Apr. 1, 2015_

0

lib/index.js

@@ -0,0 +0,0 @@ module.exports = {

6

lib/js/app-bar.js

@@ -30,3 +30,3 @@ var React = require('react');

componentDidMount: function() {
if (process.NODE_ENV !== 'production' &&
if (process.NODE_ENV !== 'production' &&
(this.props.iconElementLeft && this.props.iconClassNameLeft)) {

@@ -51,3 +51,3 @@ var warning = 'Properties iconClassNameLeft and iconElementLeft cannot be simultaneously ' +

// If not, just use it as a node.
title = toString.call(this.props.title) === '[object String]' ?
title = Object.prototype.toString.call(this.props.title) === '[object String]' ?
React.createElement("h1", {className: "mui-app-bar-title"}, this.props.title) :

@@ -77,3 +77,3 @@ this.props.title;

menuElementRight = (this.props.children) ? this.props.children :
menuElementRight = (this.props.children) ? this.props.children :
(this.props.iconElementRight) ? this.props.iconElementRight : '';

@@ -80,0 +80,0 @@

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react');

@@ -13,3 +13,6 @@ var React = require('react');

onDayTouchTap: React.PropTypes.func,
selectedDate: React.PropTypes.object.isRequired
selectedDate: React.PropTypes.object.isRequired,
maxDate: React.PropTypes.object,
minDate: React.PropTypes.object,
autoOk: React.PropTypes.bool
},

@@ -40,6 +43,20 @@

},
_isDisabled: function(day){
var minDate = this.props.minDate;
var maxDate = this.props.maxDate;
if(minDate != null && day < minDate){
return true;
}
if(maxDate != null && day > maxDate){
return true;
}
return false;
},
_getDayElements: function(week) {
return week.map(function(day, i) {
var selected = DateTime.isEqualDate(this.props.selectedDate, day);
var disabled = this._isDisabled(day);
return (

@@ -49,2 +66,3 @@ React.createElement(DayButton, {

date: day,
disabled: disabled,
onTouchTap: this._handleDayTouchTap,

@@ -51,0 +69,0 @@ selected: selected})

@@ -13,5 +13,14 @@ var React = require('react');

onLeftTouchTap: React.PropTypes.func,
onRightTouchTap: React.PropTypes.func
onRightTouchTap: React.PropTypes.func,
maxDate: React.PropTypes.object,
minDate: React.PropTypes.object
},
getDefaultProps: function () {
return {
maxDate: null,
minDate: null
};
},
getInitialState: function() {

@@ -33,3 +42,22 @@ return {

},
_isDisabled: function(direction){
var date = this.props.displayDate;
var minDate = this.props.minDate;
var maxDate = this.props.maxDate;
if(direction == "left" && minDate){
if(date.getFullYear() < minDate.getFullYear()) return true;
if(date.getFullYear() == minDate.getFullYear()){
return date.getMonth() <= minDate.getMonth();
}
}else if(direction == "right" && maxDate){
if(date.getFullYear() > maxDate.getFullYear()) return true;
if(date.getFullYear() == maxDate.getFullYear()){
return date.getMonth() >= maxDate.getMonth();
}
}
return false;
},
render: function() {

@@ -39,2 +67,5 @@ var month = DateTime.getFullMonth(this.props.displayDate);

var disableLeft = this._isDisabled("left");
var disableRight = this._isDisabled("right");
return (

@@ -50,2 +81,3 @@ React.createElement("div", {className: "mui-date-picker-calendar-toolbar"},

React.createElement(IconButton, {
disabled: disableLeft,
className: "mui-date-picker-calendar-toolbar-button-left",

@@ -57,2 +89,3 @@ onTouchTap: this.props.onLeftTouchTap},

React.createElement(IconButton, {
disabled: disableRight,
className: "mui-date-picker-calendar-toolbar-button-right",

@@ -59,0 +92,0 @@ onTouchTap: this.props.onRightTouchTap},

@@ -17,3 +17,6 @@ var React = require('react');

initialDate: React.PropTypes.object,
isActive: React.PropTypes.bool
isActive: React.PropTypes.bool,
maxDate: React.PropTypes.object,
minDate: React.PropTypes.object,
onSelectedDate: React.PropTypes.func
},

@@ -27,3 +30,5 @@

return {
initialDate: new Date()
initialDate: new Date(),
maxDate: null,
minDate: null
};

@@ -68,2 +73,4 @@ },

React.createElement(CalendarToolbar, {
minDate: this.props.minDate,
maxDate: this.props.maxDate,
displayDate: this.state.displayDate,

@@ -86,2 +93,4 @@ onLeftTouchTap: this._handleLeftTouchTap,

React.createElement(CalendarMonth, {
minDate: this.props.minDate,
maxDate: this.props.maxDate,
key: this.state.displayDate.toDateString(),

@@ -138,2 +147,3 @@ displayDate: this.state.displayDate,

}
if(this.props.onSelectedDate) this.props.onSelectedDate(d);
},

@@ -140,0 +150,0 @@

@@ -0,0 +0,0 @@ var React = require('react');

@@ -18,2 +18,4 @@ var React = require('react');

onDismiss: React.PropTypes.func,
minDate: React.PropTypes.object,
maxDate: React.PropTypes.object,
},

@@ -51,2 +53,6 @@

if(this.props.autoOk){
actions = actions.slice(0, 1);
}
return (

@@ -62,3 +68,6 @@ React.createElement(DialogWindow, React.__spread({}, other,

React.createElement(Calendar, {
minDate: this.props.minDate,
maxDate: this.props.maxDate,
ref: "calendar",
onSelectedDate: this._onSelectedDate,
initialDate: this.props.initialDate,

@@ -78,2 +87,8 @@ isActive: this.state.isCalendarActive})

_onSelectedDate: function(){
if(this.props.autoOk){
setTimeout(this._handleOKTouchTap.bind(this), 300);
}
},
_handleCancelTouchTap: function() {

@@ -117,3 +132,3 @@ this.dismiss();

}
}
}
}

@@ -123,2 +138,2 @@

module.exports = DatePickerDialog;
module.exports = DatePickerDialog;

@@ -22,2 +22,5 @@ var React = require('react');

onDismiss: React.PropTypes.func,
minDate: React.PropTypes.object,
maxDate: React.PropTypes.object,
autoOk: React.PropTypes.bool,
},

@@ -31,3 +34,6 @@

return {
formatDate: DateTime.format
formatDate: DateTime.format,
minDate: null,
maxDate: null,
autoOk: false
};

@@ -52,3 +58,6 @@ },

this.props,formatDate=$__0.formatDate,mode=$__0.mode,onFocus=$__0.onFocus,onTouchTap=$__0.onTouchTap,onShow=$__0.onShow,onDismiss=$__0.onDismiss,other=(function(source, exclusion) {var rest = {};var hasOwn = Object.prototype.hasOwnProperty;if (source == null) {throw new TypeError();}for (var key in source) {if (hasOwn.call(source, key) && !hasOwn.call(exclusion, key)) {rest[key] = source[key];}}return rest;})($__0,{formatDate:1,mode:1,onFocus:1,onTouchTap:1,onShow:1,onDismiss:1});
this.props,formatDate=$__0.formatDate,mode=$__0.mode,onFocus=$__0.onFocus,onTouchTap=$__0.onTouchTap,onShow=$__0.onShow,onDismiss=$__0.onDismiss,minDate=$__0.minDate,maxDate=$__0.maxDate,autoOk=$__0.autoOk,other=(function(source, exclusion) {var rest = {};var hasOwn = Object.prototype.hasOwnProperty;if (source == null) {throw new TypeError();}for (var key in source) {if (hasOwn.call(source, key) && !hasOwn.call(exclusion, key)) {rest[key] = source[key];}}return rest;})($__0,{formatDate:1,mode:1,onFocus:1,onTouchTap:1,onShow:1,onDismiss:1,minDate:1,maxDate:1,autoOk:1});
var classes = this.getClasses('mui-date-picker', {

@@ -73,2 +82,5 @@ 'mui-is-landscape': this.props.mode === 'landscape',

React.createElement(DatePickerDialog, {
minDate: minDate,
maxDate: maxDate,
autoOk: autoOk,
ref: "dialogWindow",

@@ -75,0 +87,0 @@ initialDate: this.state.dialogDate,

@@ -0,0 +0,0 @@ var React = require('react');

@@ -16,2 +16,3 @@ var React = require('react');

actions: React.PropTypes.array,
actionFocus: React.PropTypes.string,
contentClassName: React.PropTypes.string,

@@ -22,3 +23,4 @@ openImmediately: React.PropTypes.bool,

onShow: React.PropTypes.func,
repositionOnUpdate: React.PropTypes.bool
repositionOnUpdate: React.PropTypes.bool,
modal: React.PropTypes.bool
},

@@ -33,3 +35,4 @@

actions: [],
repositionOnUpdate: true
repositionOnUpdate: true,
modal: false
};

@@ -49,2 +52,3 @@ },

this._onShow();
this._focusOnAction();
}

@@ -55,2 +59,3 @@ },

this._positionDialog();
this._focusOnAction();
},

@@ -95,2 +100,3 @@

this.refs.dialogOverlay.preventScrolling();
this._focusOnAction();

@@ -103,15 +109,22 @@ this.setState({ open: true });

var originalClassName = reactObject.props.className;
var newClassname = originalClassName ? originalClassName + ' ' + className : className;
reactObject.props.className = originalClassName ?
originalClassName + ' ' + className : className;
return React.cloneElement(reactObject, { className: newClassname });
},
_getAction: function(actionJSON, key) {
var onClickHandler = actionJSON.onClick ? actionJSON.onClick : this.dismiss;
var props = {
key: key,
secondary: true,
onClick: actionJSON.onClick ? actionJSON.onClick : this.dismiss,
label: actionJSON.text
};
if (actionJSON.ref) {
props.ref = actionJSON.ref;
props.keyboardFocused = actionJSON.ref === this.props.actionFocus;
}
return (
React.createElement(FlatButton, {
key: key,
secondary: true,
onClick: onClickHandler,
label: actionJSON.text})
React.createElement(FlatButton, React.__spread({},
props))
);

@@ -126,3 +139,3 @@ },

for (var i = 0; i < actions.length; i++) {
currentAction = actions[i];
var currentAction = actions[i];

@@ -134,3 +147,3 @@ //if the current action isn't a react object, create one

this._addClassName(currentAction, 'mui-dialog-window-action');
currentAction = this._addClassName(currentAction, 'mui-dialog-window-action');
actionObjects.push(currentAction);

@@ -171,2 +184,8 @@ };

_focusOnAction: function() {
if (this.props.actionFocus) {
this.refs[this.props.actionFocus].getDOMNode().focus();
}
},
_onShow: function() {

@@ -181,8 +200,10 @@ if (this.props.onShow) this.props.onShow();

_handleOverlayTouchTap: function() {
this.dismiss();
if (this.props.onClickAway) this.props.onClickAway();
if (!this.props.modal) {
this.dismiss();
if (this.props.onClickAway) this.props.onClickAway();
}
},
_handleWindowKeyUp: function(e) {
if (e.keyCode == KeyCode.ESC) {
if (!this.props.modal && e.keyCode == KeyCode.ESC) {
this.dismiss();

@@ -189,0 +210,0 @@ }

@@ -24,3 +24,3 @@ var React = require('react');

// If not, just use it as a node.
title = toString.call(this.props.title) === '[object String]' ?
title = Object.prototype.toString.call(this.props.title) === '[object String]' ?
React.createElement("h3", {className: "mui-dialog-title"}, this.props.title) :

@@ -27,0 +27,0 @@ this.props.title;

@@ -0,0 +0,0 @@ var React = require('react');

@@ -5,3 +5,2 @@ var React = require('react');

var DropDownArrow = require('./svg-icons/drop-down-arrow');
var KeyLine = require('./utils/key-line');
var Paper = require('./paper');

@@ -39,8 +38,7 @@ var Menu = require('./menu/menu');

if (this.props.autoWidth) this._setWidth();
if (this.props.hasOwnProperty('selectedIndex')) this._setSelectedIndex(this.props);
},
componentWillReceiveProps: function(nextProps) {
if (nextProps.hasOwnProperty('selectedIndex')) {
this.setState({selectedIndex: nextProps.selectedIndex});
}
if (props.hasOwnProperty('selectedIndex')) this._setSelectedIndex(nextProps);
},

@@ -82,2 +80,12 @@

_setSelectedIndex: function(props) {
var selectedIndex = props.selectedIndex;
if (process.NODE_ENV !== 'production' && selectedIndex < 0) {
console.warn('Cannot set selectedIndex to a negative index.', selectedIndex);
}
this.setState({selectedIndex: (selectedIndex > -1) ? selectedIndex : 0});
},
_onControlClick: function(e) {

@@ -97,2 +105,2 @@ this.setState({ open: !this.state.open });

module.exports = DropDownMenu;
module.exports = DropDownMenu;

@@ -18,2 +18,3 @@ var React = require('react');

disableTouchRipple: React.PropTypes.bool,
keyboardFocused: React.PropTypes.bool,
linkButton: React.PropTypes.bool,

@@ -32,3 +33,3 @@ onBlur: React.PropTypes.func,

return {
isKeyboardFocused: false
isKeyboardFocused: !this.props.disabled && this.props.keyboardFocused
};

@@ -104,5 +105,7 @@ },

_handleWindowKeydown: function(e) {
if (e.keyCode == KeyCode.TAB) this._tabPressed = true;
if (e.keyCode == KeyCode.ENTER && this.state.isKeyboardFocused) {
this._handleTouchTap(e);
if (!this.props.disabled) {
if (e.keyCode == KeyCode.TAB) this._tabPressed = true;
if (e.keyCode == KeyCode.ENTER && this.state.isKeyboardFocused) {
this._handleTouchTap(e);
}
}

@@ -112,3 +115,3 @@ },

_handleWindowKeyup: function(e) {
if (e.keyCode == KeyCode.SPACE && this.state.isKeyboardFocused) {
if (!this.props.disabled && e.keyCode == KeyCode.SPACE && this.state.isKeyboardFocused) {
this._handleTouchTap(e);

@@ -119,30 +122,46 @@ }

_handleBlur: function(e) {
this.setState({
isKeyboardFocused: false
});
this._cancelFocusTimeout();
if (!this.props.disabled) {
this.setState({
isKeyboardFocused: false
});
if (this.props.onBlur) this.props.onBlur(e);
if (this.props.onBlur) this.props.onBlur(e);
}
},
_handleFocus: function(e) {
//setTimeout is needed becuase the focus event fires first
//Wait so that we can capture if this was a keyboard focus
//or touch focus
setTimeout(function() {
if (this._tabPressed) {
this.setState({
isKeyboardFocused: true
});
}
}.bind(this), 150);
if (!this.props.disabled) {
//setTimeout is needed because the focus event fires first
//Wait so that we can capture if this was a keyboard focus
//or touch focus
this._focusTimeout = setTimeout(function() {
if (this._tabPressed) {
this.setState({
isKeyboardFocused: true
});
}
}.bind(this), 150);
if (this.props.onFocus) this.props.onFocus(e);
if (this.props.onFocus) this.props.onFocus(e);
}
},
_handleTouchTap: function(e) {
this._tabPressed = false;
this.setState({
isKeyboardFocused: false
});
if (this.props.onTouchTap) this.props.onTouchTap(e);
this._cancelFocusTimeout();
if (!this.props.disabled) {
this._tabPressed = false;
this.setState({
isKeyboardFocused: false
});
if (this.props.onTouchTap) this.props.onTouchTap(e);
}
},
_cancelFocusTimeout: function () {
if (this._focusTimeout) {
clearTimeout(this._focusTimeout);
this._focusTimeout = null;
}
}

@@ -152,2 +171,2 @@

module.exports = EnhancedButton;
module.exports = EnhancedButton;

@@ -14,3 +14,3 @@ var React = require('react');

propTypes: {
propTypes: {
id: React.PropTypes.string,

@@ -21,12 +21,12 @@ inputType: React.PropTypes.string.isRequired,

name: React.PropTypes.string,
value: React.PropTypes.string,
label: React.PropTypes.string,
onSwitch: React.PropTypes.func,
required: React.PropTypes.bool,
disabled: React.PropTypes.bool,
defaultSwitched: React.PropTypes.bool,
value: React.PropTypes.string,
label: React.PropTypes.string,
onSwitch: React.PropTypes.func,
required: React.PropTypes.bool,
disabled: React.PropTypes.bool,
defaultSwitched: React.PropTypes.bool,
labelPosition: React.PropTypes.oneOf(['left', 'right']),
disableFocusRipple: React.PropTypes.bool,
disableTouchRipple: React.PropTypes.bool
},
},

@@ -49,3 +49,3 @@ windowListeners: {

isKeyboardFocused: false
}
};
},

@@ -121,9 +121,14 @@

onFocus: this._handleFocus,
onMouseUp: this._handleMouseUp,
onMouseDown: this._handleMouseDown,
onMouseOut: this._handleMouseOut,
onTouchStart: this._handleTouchStart,
onTouchEnd: this._handleTouchEnd
};
var hideTouchRipple = this.props.disabled || disableTouchRipple;
if(!hideTouchRipple) {
inputProps.onMouseUp = this._handleMouseUp;
inputProps.onMouseDown = this._handleMouseDown;
inputProps.onMouseOut = this._handleMouseOut;
inputProps.onTouchStart = this._handleTouchStart;
inputProps.onTouchEnd = this._handleTouchEnd;
}
if (!this.props.hasOwnProperty('checkedLink')) {

@@ -154,3 +159,3 @@ inputProps.onChange = this._handleChange;

var ripples = [
this.props.disabled || disableTouchRipple ? null : touchRipple,
hideTouchRipple ? null : touchRipple,
this.props.disabled || disableFocusRipple ? null : focusRipple

@@ -204,3 +209,3 @@ ];

setSwitched: function(newSwitchedValue) {
if (!this.props.hasOwnProperty('checked') || this.props.checked == false) {
if (!this.props.hasOwnProperty('checked') || this.props.checked === false) {
this.setState({switched: newSwitchedValue});

@@ -207,0 +212,0 @@ this.refs.checkbox.getDOMNode().checked = newSwitchedValue;

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -23,3 +23,3 @@ var React = require('react');

return {
tooltipShown: false
tooltipShown: false
};

@@ -95,3 +95,5 @@ },

_showTooltip: function() {
if (!this.props.disabled) this.setState({ tooltipShown: true });
if (!this.props.disabled && this.props.tooltip) {
this.setState({ tooltipShown: true });
}
},

@@ -98,0 +100,0 @@

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -18,3 +18,5 @@ var React = require('react'),

menuItems: React.PropTypes.array.isRequired,
selectedIndex: React.PropTypes.number
selectedIndex: React.PropTypes.number,
onNavOpen: React.PropTypes.func,
onNavClose: React.PropTypes.func
},

@@ -45,2 +47,3 @@

this.setState({ open: false });
if (this.props.onNavClose) this.props.onNavClose();
return this;

@@ -51,2 +54,3 @@ },

this.setState({ open: true });
if (this.props.onNavOpen) this.props.onNavOpen();
return this;

@@ -108,2 +112,2 @@ },

module.exports = LeftNav;
module.exports = LeftNav;

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -145,3 +145,3 @@ var React = require('react');

//Set the menu with
//Set the menu width
this._setKeyWidth(el);

@@ -148,0 +148,0 @@

@@ -0,0 +0,0 @@ var React = require('react');

@@ -10,2 +10,8 @@ var React = require('react');

getDefaultProps: function(){
return {
className: ''
}
},
getClasses: function(initialClasses, additionalClassObj) {

@@ -15,3 +21,3 @@ var classString = '';

//Initialize the classString with the classNames that were passed in
if (this.props.className) classString += ' ' + this.props.className;
if (this.props.className.length) classString += ' ' + this.props.className;

@@ -18,0 +24,0 @@ //Add in initial classes

@@ -22,3 +22,4 @@ var Events = require('../utils/events');

e.target != el &&
!Dom.isDescendant(el, e.target)) {
!Dom.isDescendant(el, e.target) &&
document.documentElement.contains(e.target)) {
if (this.componentClickAway) this.componentClickAway();

@@ -36,2 +37,2 @@ }

};
};

@@ -0,0 +0,0 @@ var Events = require('../utils/events');

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react/addons');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var Classable = require('./mixins/classable');

@@ -0,0 +0,0 @@ var Classable = require('./mixins/classable');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react/addons');

@@ -0,0 +0,0 @@ var Events = require('./events');

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ var index = 0;

{
"name": "material-ui",
"author": "Call-em-all Engineering Team",
"version": "0.7.3",
"version": "0.7.4",
"description": "Material Design UI components built with React",
"main": "./lib",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "echo \"Error: no test specified\" && exit 1",
"prebuild": "rm -rf lib",
"build:js": "./node_modules/.bin/jsx --harmony ./src ./lib",
"build:jsx": "./node_modules/.bin/jsx --harmony -x jsx ./src ./lib",
"build": "npm run build:js && npm run build:jsx",
"prepublish": "npm run build"
},

@@ -31,3 +36,3 @@ "keywords": [

"peerDependencies": {
"react": ">=0.12",
"react": ">=0.13",
"react-tap-event-plugin": ">=0.1.3"

@@ -34,0 +39,0 @@ },

@@ -0,0 +0,0 @@ # [Material-UI](http://callemall.github.io/material-ui/)

@@ -0,0 +0,0 @@ module.exports = {

@@ -30,3 +30,3 @@ var React = require('react');

componentDidMount: function() {
if (process.NODE_ENV !== 'production' &&
if (process.NODE_ENV !== 'production' &&
(this.props.iconElementLeft && this.props.iconClassNameLeft)) {

@@ -51,3 +51,3 @@ var warning = 'Properties iconClassNameLeft and iconElementLeft cannot be simultaneously ' +

// If not, just use it as a node.
title = toString.call(this.props.title) === '[object String]' ?
title = Object.prototype.toString.call(this.props.title) === '[object String]' ?
<h1 className="mui-app-bar-title">{this.props.title}</h1> :

@@ -60,4 +60,4 @@ this.props.title;

menuElementLeft = (
<div className="mui-app-bar-navigation-icon-button">
{this.props.iconElementLeft}
<div className="mui-app-bar-navigation-icon-button">
{this.props.iconElementLeft}
</div>

@@ -69,3 +69,3 @@ );

<IconButton
className="mui-app-bar-navigation-icon-button"
className="mui-app-bar-navigation-icon-button"
iconClassName={this.props.iconClassNameLeft}

@@ -79,3 +79,3 @@ onTouchTap={this._onMenuIconButtonTouchTap}>

menuElementRight = (this.props.children) ? this.props.children :
menuElementRight = (this.props.children) ? this.props.children :
(this.props.iconElementRight) ? this.props.iconElementRight : '';

@@ -82,0 +82,0 @@

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react');

@@ -13,3 +13,6 @@ var React = require('react');

onDayTouchTap: React.PropTypes.func,
selectedDate: React.PropTypes.object.isRequired
selectedDate: React.PropTypes.object.isRequired,
maxDate: React.PropTypes.object,
minDate: React.PropTypes.object,
autoOk: React.PropTypes.bool
},

@@ -40,6 +43,20 @@

},
_isDisabled: function(day){
var minDate = this.props.minDate;
var maxDate = this.props.maxDate;
if(minDate != null && day < minDate){
return true;
}
if(maxDate != null && day > maxDate){
return true;
}
return false;
},
_getDayElements: function(week) {
return week.map(function(day, i) {
var selected = DateTime.isEqualDate(this.props.selectedDate, day);
var disabled = this._isDisabled(day);
return (

@@ -49,2 +66,3 @@ <DayButton

date={day}
disabled={disabled}
onTouchTap={this._handleDayTouchTap}

@@ -51,0 +69,0 @@ selected={selected} />

@@ -13,5 +13,14 @@ var React = require('react');

onLeftTouchTap: React.PropTypes.func,
onRightTouchTap: React.PropTypes.func
onRightTouchTap: React.PropTypes.func,
maxDate: React.PropTypes.object,
minDate: React.PropTypes.object
},
getDefaultProps: function () {
return {
maxDate: null,
minDate: null
};
},
getInitialState: function() {

@@ -33,3 +42,22 @@ return {

},
_isDisabled: function(direction){
var date = this.props.displayDate;
var minDate = this.props.minDate;
var maxDate = this.props.maxDate;
if(direction == "left" && minDate){
if(date.getFullYear() < minDate.getFullYear()) return true;
if(date.getFullYear() == minDate.getFullYear()){
return date.getMonth() <= minDate.getMonth();
}
}else if(direction == "right" && maxDate){
if(date.getFullYear() > maxDate.getFullYear()) return true;
if(date.getFullYear() == maxDate.getFullYear()){
return date.getMonth() >= maxDate.getMonth();
}
}
return false;
},
render: function() {

@@ -39,2 +67,5 @@ var month = DateTime.getFullMonth(this.props.displayDate);

var disableLeft = this._isDisabled("left");
var disableRight = this._isDisabled("right");
return (

@@ -50,2 +81,3 @@ <div className="mui-date-picker-calendar-toolbar">

<IconButton
disabled={disableLeft}
className="mui-date-picker-calendar-toolbar-button-left"

@@ -57,2 +89,3 @@ onTouchTap={this.props.onLeftTouchTap}>

<IconButton
disabled={disableRight}
className="mui-date-picker-calendar-toolbar-button-right"

@@ -59,0 +92,0 @@ onTouchTap={this.props.onRightTouchTap}>

@@ -17,3 +17,6 @@ var React = require('react');

initialDate: React.PropTypes.object,
isActive: React.PropTypes.bool
isActive: React.PropTypes.bool,
maxDate: React.PropTypes.object,
minDate: React.PropTypes.object,
onSelectedDate: React.PropTypes.func
},

@@ -27,3 +30,5 @@

return {
initialDate: new Date()
initialDate: new Date(),
maxDate: null,
minDate: null
};

@@ -68,2 +73,4 @@ },

<CalendarToolbar
minDate={this.props.minDate}
maxDate={this.props.maxDate}
displayDate={this.state.displayDate}

@@ -86,2 +93,4 @@ onLeftTouchTap={this._handleLeftTouchTap}

<CalendarMonth
minDate={this.props.minDate}
maxDate={this.props.maxDate}
key={this.state.displayDate.toDateString()}

@@ -138,2 +147,3 @@ displayDate={this.state.displayDate}

}
if(this.props.onSelectedDate) this.props.onSelectedDate(d);
},

@@ -140,0 +150,0 @@

@@ -0,0 +0,0 @@ var React = require('react');

@@ -18,2 +18,4 @@ var React = require('react');

onDismiss: React.PropTypes.func,
minDate: React.PropTypes.object,
maxDate: React.PropTypes.object,
},

@@ -51,2 +53,6 @@

if(this.props.autoOk){
actions = actions.slice(0, 1);
}
return (

@@ -62,3 +68,6 @@ <DialogWindow {...other}

<Calendar
minDate={this.props.minDate}
maxDate={this.props.maxDate}
ref="calendar"
onSelectedDate={this._onSelectedDate}
initialDate={this.props.initialDate}

@@ -78,2 +87,8 @@ isActive={this.state.isCalendarActive} />

_onSelectedDate: function(){
if(this.props.autoOk){
setTimeout(this._handleOKTouchTap.bind(this), 300);
}
},
_handleCancelTouchTap: function() {

@@ -117,3 +132,3 @@ this.dismiss();

}
}
}
}

@@ -123,2 +138,2 @@

module.exports = DatePickerDialog;
module.exports = DatePickerDialog;

@@ -22,2 +22,5 @@ var React = require('react');

onDismiss: React.PropTypes.func,
minDate: React.PropTypes.object,
maxDate: React.PropTypes.object,
autoOk: React.PropTypes.bool,
},

@@ -31,3 +34,6 @@

return {
formatDate: DateTime.format
formatDate: DateTime.format,
minDate: null,
maxDate: null,
autoOk: false
};

@@ -51,2 +57,5 @@ },

onDismiss,
minDate,
maxDate,
autoOk,
...other

@@ -73,2 +82,5 @@ } = this.props;

<DatePickerDialog
minDate={minDate}
maxDate={maxDate}
autoOk={autoOk}
ref="dialogWindow"

@@ -75,0 +87,0 @@ initialDate={this.state.dialogDate}

@@ -0,0 +0,0 @@ var React = require('react');

@@ -16,2 +16,3 @@ var React = require('react');

actions: React.PropTypes.array,
actionFocus: React.PropTypes.string,
contentClassName: React.PropTypes.string,

@@ -22,3 +23,4 @@ openImmediately: React.PropTypes.bool,

onShow: React.PropTypes.func,
repositionOnUpdate: React.PropTypes.bool
repositionOnUpdate: React.PropTypes.bool,
modal: React.PropTypes.bool
},

@@ -33,3 +35,4 @@

actions: [],
repositionOnUpdate: true
repositionOnUpdate: true,
modal: false
};

@@ -49,2 +52,3 @@ },

this._onShow();
this._focusOnAction();
}

@@ -55,2 +59,3 @@ },

this._positionDialog();
this._focusOnAction();
},

@@ -95,2 +100,3 @@

this.refs.dialogOverlay.preventScrolling();
this._focusOnAction();

@@ -103,15 +109,22 @@ this.setState({ open: true });

var originalClassName = reactObject.props.className;
var newClassname = originalClassName ? originalClassName + ' ' + className : className;
reactObject.props.className = originalClassName ?
originalClassName + ' ' + className : className;
return React.cloneElement(reactObject, { className: newClassname });
},
_getAction: function(actionJSON, key) {
var onClickHandler = actionJSON.onClick ? actionJSON.onClick : this.dismiss;
var props = {
key: key,
secondary: true,
onClick: actionJSON.onClick ? actionJSON.onClick : this.dismiss,
label: actionJSON.text
};
if (actionJSON.ref) {
props.ref = actionJSON.ref;
props.keyboardFocused = actionJSON.ref === this.props.actionFocus;
}
return (
<FlatButton
key={key}
secondary={true}
onClick={onClickHandler}
label={actionJSON.text} />
{...props} />
);

@@ -126,3 +139,3 @@ },

for (var i = 0; i < actions.length; i++) {
currentAction = actions[i];
var currentAction = actions[i];

@@ -134,3 +147,3 @@ //if the current action isn't a react object, create one

this._addClassName(currentAction, 'mui-dialog-window-action');
currentAction = this._addClassName(currentAction, 'mui-dialog-window-action');
actionObjects.push(currentAction);

@@ -171,2 +184,8 @@ };

_focusOnAction: function() {
if (this.props.actionFocus) {
this.refs[this.props.actionFocus].getDOMNode().focus();
}
},
_onShow: function() {

@@ -181,8 +200,10 @@ if (this.props.onShow) this.props.onShow();

_handleOverlayTouchTap: function() {
this.dismiss();
if (this.props.onClickAway) this.props.onClickAway();
if (!this.props.modal) {
this.dismiss();
if (this.props.onClickAway) this.props.onClickAway();
}
},
_handleWindowKeyUp: function(e) {
if (e.keyCode == KeyCode.ESC) {
if (!this.props.modal && e.keyCode == KeyCode.ESC) {
this.dismiss();

@@ -189,0 +210,0 @@ }

@@ -24,3 +24,3 @@ var React = require('react');

// If not, just use it as a node.
title = toString.call(this.props.title) === '[object String]' ?
title = Object.prototype.toString.call(this.props.title) === '[object String]' ?
<h3 className="mui-dialog-title">{this.props.title}</h3> :

@@ -27,0 +27,0 @@ this.props.title;

@@ -0,0 +0,0 @@ var React = require('react');

@@ -5,3 +5,2 @@ var React = require('react');

var DropDownArrow = require('./svg-icons/drop-down-arrow');
var KeyLine = require('./utils/key-line');
var Paper = require('./paper');

@@ -39,8 +38,7 @@ var Menu = require('./menu/menu');

if (this.props.autoWidth) this._setWidth();
if (this.props.hasOwnProperty('selectedIndex')) this._setSelectedIndex(this.props);
},
componentWillReceiveProps: function(nextProps) {
if (nextProps.hasOwnProperty('selectedIndex')) {
this.setState({selectedIndex: nextProps.selectedIndex});
}
if (props.hasOwnProperty('selectedIndex')) this._setSelectedIndex(nextProps);
},

@@ -82,2 +80,12 @@

_setSelectedIndex: function(props) {
var selectedIndex = props.selectedIndex;
if (process.NODE_ENV !== 'production' && selectedIndex < 0) {
console.warn('Cannot set selectedIndex to a negative index.', selectedIndex);
}
this.setState({selectedIndex: (selectedIndex > -1) ? selectedIndex : 0});
},
_onControlClick: function(e) {

@@ -97,2 +105,2 @@ this.setState({ open: !this.state.open });

module.exports = DropDownMenu;
module.exports = DropDownMenu;

@@ -18,2 +18,3 @@ var React = require('react');

disableTouchRipple: React.PropTypes.bool,
keyboardFocused: React.PropTypes.bool,
linkButton: React.PropTypes.bool,

@@ -32,3 +33,3 @@ onBlur: React.PropTypes.func,

return {
isKeyboardFocused: false
isKeyboardFocused: !this.props.disabled && this.props.keyboardFocused
};

@@ -104,5 +105,7 @@ },

_handleWindowKeydown: function(e) {
if (e.keyCode == KeyCode.TAB) this._tabPressed = true;
if (e.keyCode == KeyCode.ENTER && this.state.isKeyboardFocused) {
this._handleTouchTap(e);
if (!this.props.disabled) {
if (e.keyCode == KeyCode.TAB) this._tabPressed = true;
if (e.keyCode == KeyCode.ENTER && this.state.isKeyboardFocused) {
this._handleTouchTap(e);
}
}

@@ -112,3 +115,3 @@ },

_handleWindowKeyup: function(e) {
if (e.keyCode == KeyCode.SPACE && this.state.isKeyboardFocused) {
if (!this.props.disabled && e.keyCode == KeyCode.SPACE && this.state.isKeyboardFocused) {
this._handleTouchTap(e);

@@ -119,30 +122,46 @@ }

_handleBlur: function(e) {
this.setState({
isKeyboardFocused: false
});
this._cancelFocusTimeout();
if (!this.props.disabled) {
this.setState({
isKeyboardFocused: false
});
if (this.props.onBlur) this.props.onBlur(e);
if (this.props.onBlur) this.props.onBlur(e);
}
},
_handleFocus: function(e) {
//setTimeout is needed becuase the focus event fires first
//Wait so that we can capture if this was a keyboard focus
//or touch focus
setTimeout(function() {
if (this._tabPressed) {
this.setState({
isKeyboardFocused: true
});
}
}.bind(this), 150);
if (!this.props.disabled) {
//setTimeout is needed because the focus event fires first
//Wait so that we can capture if this was a keyboard focus
//or touch focus
this._focusTimeout = setTimeout(function() {
if (this._tabPressed) {
this.setState({
isKeyboardFocused: true
});
}
}.bind(this), 150);
if (this.props.onFocus) this.props.onFocus(e);
if (this.props.onFocus) this.props.onFocus(e);
}
},
_handleTouchTap: function(e) {
this._tabPressed = false;
this.setState({
isKeyboardFocused: false
});
if (this.props.onTouchTap) this.props.onTouchTap(e);
this._cancelFocusTimeout();
if (!this.props.disabled) {
this._tabPressed = false;
this.setState({
isKeyboardFocused: false
});
if (this.props.onTouchTap) this.props.onTouchTap(e);
}
},
_cancelFocusTimeout: function () {
if (this._focusTimeout) {
clearTimeout(this._focusTimeout);
this._focusTimeout = null;
}
}

@@ -152,2 +171,2 @@

module.exports = EnhancedButton;
module.exports = EnhancedButton;

@@ -14,3 +14,3 @@ var React = require('react');

propTypes: {
propTypes: {
id: React.PropTypes.string,

@@ -21,12 +21,12 @@ inputType: React.PropTypes.string.isRequired,

name: React.PropTypes.string,
value: React.PropTypes.string,
label: React.PropTypes.string,
onSwitch: React.PropTypes.func,
required: React.PropTypes.bool,
disabled: React.PropTypes.bool,
defaultSwitched: React.PropTypes.bool,
value: React.PropTypes.string,
label: React.PropTypes.string,
onSwitch: React.PropTypes.func,
required: React.PropTypes.bool,
disabled: React.PropTypes.bool,
defaultSwitched: React.PropTypes.bool,
labelPosition: React.PropTypes.oneOf(['left', 'right']),
disableFocusRipple: React.PropTypes.bool,
disableTouchRipple: React.PropTypes.bool
},
},

@@ -49,3 +49,3 @@ windowListeners: {

isKeyboardFocused: false
}
};
},

@@ -121,9 +121,14 @@

onFocus: this._handleFocus,
onMouseUp: this._handleMouseUp,
onMouseDown: this._handleMouseDown,
onMouseOut: this._handleMouseOut,
onTouchStart: this._handleTouchStart,
onTouchEnd: this._handleTouchEnd
};
var hideTouchRipple = this.props.disabled || disableTouchRipple;
if(!hideTouchRipple) {
inputProps.onMouseUp = this._handleMouseUp;
inputProps.onMouseDown = this._handleMouseDown;
inputProps.onMouseOut = this._handleMouseOut;
inputProps.onTouchStart = this._handleTouchStart;
inputProps.onTouchEnd = this._handleTouchEnd;
}
if (!this.props.hasOwnProperty('checkedLink')) {

@@ -154,3 +159,3 @@ inputProps.onChange = this._handleChange;

var ripples = [
this.props.disabled || disableTouchRipple ? null : touchRipple,
hideTouchRipple ? null : touchRipple,
this.props.disabled || disableFocusRipple ? null : focusRipple

@@ -204,3 +209,3 @@ ];

setSwitched: function(newSwitchedValue) {
if (!this.props.hasOwnProperty('checked') || this.props.checked == false) {
if (!this.props.hasOwnProperty('checked') || this.props.checked === false) {
this.setState({switched: newSwitchedValue});

@@ -207,0 +212,0 @@ this.refs.checkbox.getDOMNode().checked = newSwitchedValue;

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -23,3 +23,3 @@ var React = require('react');

return {
tooltipShown: false
tooltipShown: false
};

@@ -95,3 +95,5 @@ },

_showTooltip: function() {
if (!this.props.disabled) this.setState({ tooltipShown: true });
if (!this.props.disabled && this.props.tooltip) {
this.setState({ tooltipShown: true });
}
},

@@ -98,0 +100,0 @@

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -18,3 +18,5 @@ var React = require('react'),

menuItems: React.PropTypes.array.isRequired,
selectedIndex: React.PropTypes.number
selectedIndex: React.PropTypes.number,
onNavOpen: React.PropTypes.func,
onNavClose: React.PropTypes.func
},

@@ -45,2 +47,3 @@

this.setState({ open: false });
if (this.props.onNavClose) this.props.onNavClose();
return this;

@@ -51,2 +54,3 @@ },

this.setState({ open: true });
if (this.props.onNavOpen) this.props.onNavOpen();
return this;

@@ -108,2 +112,2 @@ },

module.exports = LeftNav;
module.exports = LeftNav;

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -145,3 +145,3 @@ var React = require('react');

//Set the menu with
//Set the menu width
this._setKeyWidth(el);

@@ -148,0 +148,0 @@

@@ -0,0 +0,0 @@ var React = require('react');

@@ -10,2 +10,8 @@ var React = require('react');

getDefaultProps: function(){
return {
className: ''
}
},
getClasses: function(initialClasses, additionalClassObj) {

@@ -15,3 +21,3 @@ var classString = '';

//Initialize the classString with the classNames that were passed in
if (this.props.className) classString += ' ' + this.props.className;
if (this.props.className.length) classString += ' ' + this.props.className;

@@ -18,0 +24,0 @@ //Add in initial classes

@@ -22,3 +22,4 @@ var Events = require('../utils/events');

e.target != el &&
!Dom.isDescendant(el, e.target)) {
!Dom.isDescendant(el, e.target) &&
document.documentElement.contains(e.target)) {
if (this.componentClickAway) this.componentClickAway();

@@ -36,2 +37,2 @@ }

};
};

@@ -0,0 +0,0 @@ var Events = require('../utils/events');

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react'),

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react/addons');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var Classable = require('./mixins/classable');

@@ -0,0 +0,0 @@ var Classable = require('./mixins/classable');

@@ -0,0 +0,0 @@ var React = require('react');

@@ -0,0 +0,0 @@ var React = require('react/addons');

@@ -0,0 +0,0 @@ var Events = require('./events');

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ var index = 0;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc