diff --git a/build/app-bundle.js b/build/app-bundle.js
index 3c02556..17e9af0 100644
--- a/build/app-bundle.js
+++ b/build/app-bundle.js
@@ -360,7 +360,7 @@ setInterval(function(){
},1000);
-},{"./common/AppSettingsMixin.js":2,"./common/SafeStateChangeMixin.js":14,"./common/SetIntervalMixin.js":15,"./home/Home.js":18,"./other/Accounts.js":20,"./other/Conversation.js":21,"./other/Featured.js":22,"./other/Hashtag.js":23,"./other/Settings.js":25,"./profile/Followings.js":28,"./profile/Mentions.js":29,"./profile/Profile.js":30,"./profile/Timeline.js":31,"react":499,"react-bootstrap":107,"react-dom":279,"react-router":307}],2:[function(require,module,exports){
+},{"./common/AppSettingsMixin.js":2,"./common/SafeStateChangeMixin.js":15,"./common/SetIntervalMixin.js":16,"./home/Home.js":18,"./other/Accounts.js":20,"./other/Conversation.js":21,"./other/Featured.js":22,"./other/Hashtag.js":23,"./other/Settings.js":25,"./profile/Followings.js":28,"./profile/Mentions.js":29,"./profile/Profile.js":30,"./profile/Timeline.js":31,"react":500,"react-bootstrap":107,"react-dom":279,"react-router":307}],2:[function(require,module,exports){
module.exports = AppSettingsMixin = {
getInitialState: function() {
@@ -402,352 +402,6 @@ module.exports = AppSettingsMixin = {
};
},{}],3:[function(require,module,exports){
-var React = require('react')
-var ReactDOM = require('react-dom')
-var classNames = require('classnames')
-var escapeHTML = require('escape-html')
-var isServer = typeof window === 'undefined'
-
-if (!isServer) {
- var selectionRange = require('selection-range')
-}
-
-var noop = function(){}
-
-/**
- * Make a contenteditable element
- */
-
-var ContentEditable = React.createClass({displayName: "ContentEditable",
-
- propTypes: {
- editing: React.PropTypes.bool,
- html: React.PropTypes.string,
- onChange: React.PropTypes.func.isRequired,
- placeholder: React.PropTypes.bool,
- placeholderText: React.PropTypes.string,
- tagName: React.PropTypes.string,
- onEnterKey: React.PropTypes.func,
- onEscapeKey: React.PropTypes.func,
- preventStyling: React.PropTypes.bool,
- noLinebreaks: React.PropTypes.bool,
- onBlur: React.PropTypes.func,
- onFocus: React.PropTypes.func,
- onBold: React.PropTypes.func,
- onItalic: React.PropTypes.func,
- onKeyDown: React.PropTypes.func,
- onKeyPress: React.PropTypes.func,
- placeholderStyle: React.PropTypes.object
- },
-
- getDefaultProps: function() {
- return {
- html: '',
- placeholder: false,
- placeholderText: '',
- onBold: noop,
- onItalic: noop,
- onKeyDown: noop,
- onKeyPress: noop
- };
- },
-
- getInitialState: function(){
- return {};
- },
-
- shouldComponentUpdate: function(nextProps) {
- var el = ReactDOM.findDOMNode(this)
- if (nextProps.html !== el.innerHTML) {
- if (nextProps.html && document.activeElement === el) {
- this._range = selectionRange(el)
- }
- return true
- }
-
- if (nextProps.placeholder !== this.props.placeholder) {
- return true
- }
-
- if (nextProps.editing !== this.props.editing) {
- return true
- }
-
- return false
- },
-
- componentWillReceiveProps: function (nextProps) {
- if (!this.props.editing && nextProps.editing) {
- if (this.contentIsEmpty(nextProps.html)) {
- this.props.onChange('', true)
- }
- }
- },
-
- componentDidUpdate: function() {
- if (!this.props.editing && !this.props.html) {
- this.props.onChange('')
- }
-
- if (this._range) {
- selectionRange(ReactDOM.findDOMNode(this), this._range)
- delete this._range
- }
- },
-
- autofocus: function(){
- ReactDOM.findDOMNode(this).focus();
- },
-
- render: function() {
-
- // todo: use destructuring
- var editing = this.props.editing;
- var className = this.props.className;
- var tagName = this.props.tagName;
-
- // setup our classes
- var classes = {
- ContentEditable: true
- };
-
- var placeholderStyle = this.props.placeholderStyle || {
- color: '#bbbbbb'
- }
-
- if (className) {
- classes[className] = true;
- }
-
- // set 'div' as our default tagname
- tagName = tagName || 'div';
-
- var content = this.props.html;
-
- // return our newly created element
- return React.createElement(tagName, {
- tabIndex: 0,
- key: '0',
- className: classNames(classes),
- contentEditable: editing,
- onBlur: this.onBlur,
- onFocus: this.onFocus,
- onKeyDown: this.onKeyDown,
- onPaste: this.onPaste,
- onMouseDown: this.onMouseDown,
- 'aria-label': this.props.placeholderText,
- onTouchStart: this.onMouseDown,
- style: this.props.placeholder ? placeholderStyle : this.props.style || {},
- onKeyPress: this.onKeyPress,
- onInput: this.onInput,
- onKeyUp: this.onKeyUp,
- dangerouslySetInnerHTML: {
- __html : this.props.placeholder ? this.props.placeholderText : content
- }
- });
- },
-
- unsetPlaceholder: function(){
- this.props.onChange('', false, '')
- },
-
- setCursorToStart: function(){
- ReactDOM.findDOMNode(this).focus();
- var sel = window.getSelection();
- var range = document.createRange();
- range.setStart(ReactDOM.findDOMNode(this), 0);
- range.collapse(true);
- sel.removeAllRanges();
- sel.addRange(range);
- },
-
- contentIsEmpty: function (content) {
-
- if (this.state.placeholder) {
- return true
- }
-
- if (!content) {
- return true
- }
-
- if (content === '
') {
- return true
- }
-
- if (!content.trim().length) {
- return true
- }
-
- return false
- },
-
-
- onMouseDown: function(e) {
- // prevent cursor placement if placeholder is set
- if (this.contentIsEmpty(this.props.html)) {
- this.setCursorToStart()
- e.preventDefault()
- }
- },
-
- onKeyDown: function(e) {
- var self = this
- this.props.onKeyDown(e)
-
- function prev () {
- e.preventDefault();
- e.stopPropagation();
- self.stop = true
- }
-
- var key = e.keyCode;
-
- // bold & italic styling
- if (e.metaKey) {
-
- // bold
- if (key === 66) {
- this.props.onBold(e)
- if (this.props.preventStyling) {
- return prev()
- }
-
- // italic
- } else if (key === 73) {
- this.props.onItalic(e)
- if (this.props.preventStyling) {
- return prev()
- }
- //paste
- } else if (key === 86) {
- return;
- }
- }
-
- // prevent linebreaks
- if (this.props.noLinebreaks && (key === 13)) {
- return prev()
- }
-
- // placeholder behaviour
- if (this.contentIsEmpty(this.props.html)) { // If no text
-
- if (e.metaKey || (e.shiftKey && (key === 16))) {
- return prev()
- }
-
- switch (key) {
- case 46: // 'Delete' key
- case 8: // 'Backspace' key
- case 9: // 'Tab' key
- case 39: // 'Arrow right' key
- case 37: // 'Arrow left' key
- case 40: // 'Arrow left' key
- case 38: // 'Arrow left' key
- prev();
- break;
-
- case 13:
- // 'Enter' key
- prev();
- if (this.props.onEnterKey) {
- this.props.onEnterKey();
- }
- break;
-
- case 27:
- // 'Escape' key
- prev();
- if (this.props.onEscapeKey) {
- this.props.onEscapeKey();
- }
- break;
-
- default:
- this.unsetPlaceholder();
- break;
- }
- }
- },
-
- _replaceCurrentSelection: function(data) {
- var selection = window.getSelection();
- var range = selection.getRangeAt(0);
- range.deleteContents();
- var fragment = range.createContextualFragment('');
- fragment.textContent = data;
- var replacementEnd = fragment.lastChild;
- range.insertNode(fragment);
- // Set cursor at the end of the replaced content, just like browsers do.
- range.setStartAfter(replacementEnd);
- range.collapse(true);
- selection.removeAllRanges();
- selection.addRange(range);
- },
-
- onPaste: function(e){
- // handle paste manually to ensure we unset our placeholder
- e.preventDefault();
- var data = e.clipboardData.getData('text/plain')
- this._replaceCurrentSelection(data);
- var target = ReactDOM.findDOMNode(this)
- this.props.onChange(target.textContent, false, target.innerHTML)
- },
-
- onKeyPress: function(e){
- this.props.onKeyPress(e)
- },
-
- onKeyUp: function(e) {
- if (this._supportsInput) return
- if (this.stop) {
- this.stop = false
- return
- }
-
- var target = ReactDOM.findDOMNode(this)
- var self = this
-
- if (!target.textContent.trim().length) {
- this.props.onChange('', true, '')
- setTimeout(function(){
- self.setCursorToStart()
- }, 1)
- } else {
- this.props.onChange(target.textContent, false, target.innerHTML)
- }
-
- },
-
- onInput: function(e) {
- this._supportsInput = true
- var val = e.target.innerHTML
- var text = e.target.textContent.trim()
- if (!text) {
- this.props.onChange('', true, '')
- return
- }
-
- this.props.onChange(escapeHTML(e.target.textContent), false, e.target.innerHTML)
- },
-
- onBlur: function(e) {
- if (this.props.onBlur) {
- this.props.onBlur(e);
- }
- },
-
- onFocus: function(e) {
- if (this.props.onFocus) {
- this.props.onFocus(e);
- }
- }
-
-});
-
-module.exports = ContentEditable;
-},{"classnames":33,"escape-html":34,"react":499,"react-dom":279,"selection-range":500}],4:[function(require,module,exports){
module.exports = EventListenerMixin = function (eventtype) {
return {
@@ -760,7 +414,7 @@ module.exports = EventListenerMixin = function (eventtype) {
}
}
-},{}],5:[function(require,module,exports){
+},{}],4:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, OverlayMixin = ReactBootstrap.OverlayMixin
@@ -769,6 +423,7 @@ var ReactBootstrap = require('react-bootstrap')
, Glyphicon = ReactBootstrap.Glyphicon
, Modal = ReactBootstrap.Modal
, Input = ReactBootstrap.Input
+ , Button = ReactBootstrap.Button
var React = require('react');
@@ -837,11 +492,11 @@ module.exports = FollowButton = React.createClass({displayName: "FollowButton",
var methodName = this.state.isCurrentlyFollowing ? "Unfollow" : "Follow";
return (
- React.createElement("button", {onClick: this.handleClick}, methodName)
+ React.createElement(Button, {onClick: this.handleClick}, methodName)
);
}
});
-},{"../common/SafeStateChangeMixin.js":14,"react":499,"react-bootstrap":107}],6:[function(require,module,exports){
+},{"../common/SafeStateChangeMixin.js":15,"react":500,"react-bootstrap":107}],5:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, Grid = ReactBootstrap.Grid
@@ -884,7 +539,7 @@ module.exports = MiniProfile = React.createClass({displayName: "MiniProfile",
);
}
});
-},{"../common/ProfileMixin.js":11,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"react":499,"react-bootstrap":107}],7:[function(require,module,exports){
+},{"../common/ProfileMixin.js":12,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"react":500,"react-bootstrap":107}],6:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, Grid = ReactBootstrap.Grid
@@ -1125,12 +780,271 @@ module.exports = Post = React.createClass({displayName: "Post",
*/
-},{"../common/EventListenerMixin.js":4,"../common/PostContent.js":8,"../common/ReplyModalButton.js":12,"../common/RetwistModalButton.js":13,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"react":499,"react-bootstrap":107}],8:[function(require,module,exports){
+},{"../common/EventListenerMixin.js":3,"../common/PostContent.js":8,"../common/ReplyModalButton.js":13,"../common/RetwistModalButton.js":14,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"react":500,"react-bootstrap":107}],7:[function(require,module,exports){
+var React = require('react');
+var ContentEditable = require('react-wysiwyg');
+var PostContentHelper = require('../common/PostContentHelper.js');
+var SafeStateChangeMixin = require('../common/SafeStateChangeMixin.js');
+
+
+var ReactBootstrap = require('react-bootstrap')
+ , Button = ReactBootstrap.Button
+ , DropdownButton = ReactBootstrap.DropdownButton
+ , MenuItem = ReactBootstrap.MenuItem
+ , ButtonGroup = ReactBootstrap.ButtonGroup
+ , OverlayTrigger = ReactBootstrap.OverlayTrigger
+ , Popover = ReactBootstrap.Popover
+ , Glyphicon = ReactBootstrap.Glyphicon
+ , Grid = ReactBootstrap.Grid
+ , Col = ReactBootstrap.Col
+ , Row = ReactBootstrap.Row
+
+var escape = document.createElement('textarea')
+
+function escapeHTML(html) {
+ escape.textContent = html;
+ return escape.innerHTML;
+}
+
+module.exports = PostComposer = React.createClass({displayName: "PostComposer",
+ mixins:[SafeStateChangeMixin],
+ getInitialState: function(){
+ var editing = false
+ var defaultValue = ''
+
+ return {
+ html: defaultValue,
+ editing: true,
+ placeholder: true,
+ maxLength: 140,
+ totalLength: defaultValue.length,
+ queryMention: false,
+ text: defaultValue
+ }
+
+ },
+
+ componentDidMount: function () {
+ // Gives the window a callback to call before the next repaint.
+ window.requestAnimationFrame(this.checkCursor)
+ },
+
+ checkCursor: function (timestamp) {
+ var self = this
+ var selection = window.getSelection()
+
+
+ if (this.state.editing && selection.focusNode) {
+
+ var node = selection
+ .getRangeAt(0)
+ .commonAncestorContainer
+ .parentNode
+
+ if (node.className === 'show-dropdown') {
+ // you could use the node to determine its position,
+ // and show the dropdown inline, too.
+ this.setStateSafe({ queryMention : node.textContent })
+ } else if (this.state.queryMention) {
+ this.setStateSafe({ queryMention: false })
+ }
+
+ } else if (this.state.queryMention) {
+ this.setStateSafe({ queryMention: false })
+ }
+
+ window.requestAnimationFrame(self.checkCursor)
+ },
+
+ render: function(){
+
+ var isValid = (this.state.maxLength >= this.state.totalLength)
+ && (this.state.totalLength > 0)
+
+ return (
+ React.createElement("div", null,
+ React.createElement("div", null, this.state.error),
+ React.createElement(ContentEditable, {
+ ref: "editable",
+ tagName: "div",
+ html: this.state.html,
+ placeholder: this.state.placeholder,
+ placeholderText: "Compose Your Twist",
+ onKeyPress: this.onKeyPress,
+ preventStyling: true,
+ noLinebreaks: true,
+ onChange: this.onChange,
+ editing: this.state.editing,
+ style: {"outline": "none"}}
+ ),
+ React.createElement(Row, null,
+ React.createElement(Col, {xs: 9, md: 9}
+ ),
+ React.createElement(Col, {xs: 1, md: 1},
+ React.createElement(Button, {disabled: true, id: "content-length"},
+ this.state.maxLength - this.state.totalLength
+ )
+ ),
+ React.createElement(Col, {xs: 2, md: 2},
+ React.createElement(Button, {disabled: !isValid, onClick: this.handleSubmit},
+ "Twist"
+ )
+ )
+ ),
+ React.createElement("div", null,
+ "Show autocomplete? ", this.state.queryMention ? 'Yes ' + this.state.queryMention : 'No'
+ )
+ )
+ );
+ },
+
+ handleSubmit: function(){
+ this.props.onSubmit(this.state.text);
+ },
+
+ autofocus: function () {
+ if (this.state.editing) {
+ this.refs.editable.autofocus()
+ }
+ },
+
+ onChange: function(text, setPlaceholder) {
+ // in order to render the updated html,
+ // you need to pass it as a prop to contentEditable.
+ // This gives you increased flexibility.
+ if (setPlaceholder) {
+ this.setState({
+ placeholder: true,
+ html: '',
+ totalLength: 0,
+ text: ''
+ })
+ } else {
+
+ var copy = text.slice(0, this.state.maxLength)
+
+ var parsedContent = PostContentHelper.parseContent(copy);
+
+ console.log(copy,parsedContent);
+
+ var output = "";
+
+ parsedContent.map(function(item,index){
+ //console.log(item.raw)
+ switch(item.type) {
+ case "mention":
+ output+=(''+item.raw+'');
+ break;
+ case "hashtag":
+ output+=(''+item.raw+'');
+ break;
+ case "url":
+ output+=(''+item.raw+'');
+ break;
+ case "email":
+ output+=(''+item.raw+'');
+ break;
+ default:
+ output+=(''+item.raw+'');
+ }
+ });
+
+ // text overflow
+ if (text.length > this.state.maxLength) {
+ var overflow = '' +
+ text.slice(this.state.maxLength) +
+ ''
+ output = output + overflow
+ }
+
+ this.setState({
+ placeholder: false,
+ html: output,
+ totalLength: text.length,
+ text: copy
+ })
+ }
+
+ },
+
+ enableEditing: function(){
+ var editing = !this.state.editing
+ // set your contenteditable field into editing mode.
+ this.setState({ editing: editing });
+ if (editing) {
+ this.refs.editable.autofocus()
+ this.refs.editable.setCursorToEnd()
+ }
+ }
+
+});
+},{"../common/PostContentHelper.js":9,"../common/SafeStateChangeMixin.js":15,"react":500,"react-bootstrap":107,"react-wysiwyg":338}],8:[function(require,module,exports){
var React = require('react');
+var PostContentHelper = require('../common/PostContentHelper.js');
module.exports = Post = React.createClass({displayName: "Post",
+ render: function() {
+
+ var parsedContent = PostContentHelper.parseContent(this.props.content);
+
+ //console.log(parsedContent)
+
+ var ret = parsedContent.map(function(item,index){
+ //console.log(item.raw)
+ switch(item.type) {
+ case "mention":
+ return (
+ React.createElement("a", {key: index, className: "text-muted", href: "#/profile/"+item.raw.substr(1)}, item.raw)
+ )
+ case "hashtag":
+ return (
+ React.createElement("a", {key: index, className: "text-muted", href: "#/hashtag/"+item.raw.substr(1)}, item.raw)
+ )
+ case "url":
+ return (
+ React.createElement("a", {key: index, className: "text-primary", href: item.raw, target: "_blank"}, item.raw)
+ )
+ case "email":
+ return (
+ React.createElement("span", {key: index, className: "text-primary"}, item.raw)
+ )
+ default:
+ return (
+ React.createElement("span", {key: index}, item.raw)
+ )
+ }
+ });
+
+ //console.log(ret);
+
+ return (
+ React.createElement("div", null,
+ ret
+ )
+ );
+ }
+});
+
+/*
+
+
+
+
+
+ {this.state.fullname}
+ @{post.username} - {post.id}
+
+
+
{post.timestamp}
+
{post.content}
+
+
+
+ */
+},{"../common/PostContentHelper.js":9,"react":500}],9:[function(require,module,exports){
+module.exports = {
extractUsername: function(s) {
var username = "";
for( var i = 0; i < s.length; i++ ) {
@@ -1203,7 +1117,9 @@ module.exports = Post = React.createClass({displayName: "Post",
tmp = msg.substr(index+1);
var username = this.extractUsername(tmp);
if( username.length ) {
- output.push({type:"mention",raw:"@"+username});
+ output.push({type:"mention",raw:"@"+username});
+ }else{
+ output.push({type:"text",raw:"@"});
}
msg = tmp.substr(String(username).length);
continue;
@@ -1212,7 +1128,9 @@ module.exports = Post = React.createClass({displayName: "Post",
if( reHttp.exec(match[1]) ) {
output.push({type:"text",raw:(msg.substr(0, index))});
tmp = msg.substring(index);
- var space = tmp.search(/[ \n\t]/);
+ //console.log(tmp)
+ var space = tmp.search(/\s/);
+ //console.log(space)
var url;
if( space != -1 ) url = tmp.substring(0,space); else url = tmp;
if( url.length ) {
@@ -1225,7 +1143,7 @@ module.exports = Post = React.createClass({displayName: "Post",
if( reEmail.exec(match[1]) ) {
output.push({type:"text",raw:(msg.substr(0, index))});
tmp = msg.substring(index);
- var space = tmp.search(/[ \n\t]/);
+ var space = tmp.search(/\s/);
var email;
if( space != -1 ) email = tmp.substring(0,space); else email = tmp;
if( email.length ) {
@@ -1247,6 +1165,8 @@ module.exports = Post = React.createClass({displayName: "Post",
// }
output.push({type:"hashtag",raw:"#"+hashtag});
+ }else{
+ output.push({type:"text",raw:"@"});
}
msg = tmp.substr(String(hashtag).length);
continue;
@@ -1274,66 +1194,9 @@ module.exports = Post = React.createClass({displayName: "Post",
return output;
- },
- render: function() {
-
- var parsedContent = this.parseContent(this.props.content);
-
- //console.log(parsedContent)
-
- var ret = parsedContent.map(function(item,index){
- //console.log(item.raw)
- switch(item.type) {
- case "mention":
- return (
- React.createElement("a", {key: index, className: "text-muted", href: "#/profile/"+item.raw.substr(1)}, item.raw)
- )
- case "hashtag":
- return (
- React.createElement("a", {key: index, className: "text-muted", href: "#/hashtag/"+item.raw.substr(1)}, item.raw)
- )
- case "url":
- return (
- React.createElement("a", {key: index, className: "text-primary", href: item.raw, target: "_blank"}, item.raw)
- )
- case "email":
- return (
- React.createElement("span", {key: index, className: "text-primary"}, item.raw)
- )
- default:
- return (
- React.createElement("span", {key: index}, item.raw)
- )
- }
- });
-
- //console.log(ret);
-
- return (
- React.createElement("div", null,
- ret
- )
- );
}
-});
-
-/*
-
-
-
-
-
- {this.state.fullname}
- @{post.username} - {post.id}
-
-
-
{post.timestamp}
-
{post.content}
-
-
-
- */
-},{"react":499}],9:[function(require,module,exports){
+}
+},{}],10:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, NavItem = ReactBootstrap.NavItem
@@ -1380,7 +1243,7 @@ module.exports = Postboard = React.createClass({displayName: "Postboard",
);
}
});
-},{"../common/Post.js":7,"react":499,"react-addons-css-transition-group":35,"react-bootstrap":107}],10:[function(require,module,exports){
+},{"../common/Post.js":6,"react":500,"react-addons-css-transition-group":35,"react-bootstrap":107}],11:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, NavItem = ReactBootstrap.NavItem
@@ -1427,7 +1290,7 @@ module.exports = ProfileBoard = React.createClass({displayName: "ProfileBoard",
);
}
});
-},{"../common/Post.js":7,"react":499,"react-addons-css-transition-group":35,"react-bootstrap":107}],11:[function(require,module,exports){
+},{"../common/Post.js":6,"react":500,"react-addons-css-transition-group":35,"react-bootstrap":107}],12:[function(require,module,exports){
var AppSettingsMixin = require('../common/AppSettingsMixin.js');
var EventListenerMixin = require('../common/EventListenerMixin.js');
@@ -1531,7 +1394,7 @@ module.exports = ProfileMixin = {
}
};
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4}],12:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3}],13:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, OverlayMixin = ReactBootstrap.OverlayMixin
@@ -1616,7 +1479,7 @@ module.exports = ReplyModalButton = React.createClass({displayName: "ReplyModalB
}
});
-},{"../common/PostContent.js":8,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"react":499,"react-bootstrap":107}],13:[function(require,module,exports){
+},{"../common/PostContent.js":8,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"react":500,"react-bootstrap":107}],14:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, OverlayMixin = ReactBootstrap.OverlayMixin
@@ -1691,7 +1554,7 @@ module.exports = RetwistModalButton = React.createClass({displayName: "RetwistMo
}
});
-},{"../common/PostContent.js":8,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"react":499,"react-bootstrap":107}],14:[function(require,module,exports){
+},{"../common/PostContent.js":8,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"react":500,"react-bootstrap":107}],15:[function(require,module,exports){
function isValidLifeCycleForReplaceState(instance) {
// See function validateLifeCycleOnReplaceState(instance) in
// ReactCompositeComponent.js
@@ -1754,7 +1617,7 @@ var safeStateChangeMixin = {
};
module.exports = safeStateChangeMixin;
-},{}],15:[function(require,module,exports){
+},{}],16:[function(require,module,exports){
module.exports = SetIntervalMixin = {
componentWillMount: function() {
this.intervals = [];
@@ -1770,7 +1633,7 @@ module.exports = SetIntervalMixin = {
this.intervals.map(clearInterval);
}
};
-},{}],16:[function(require,module,exports){
+},{}],17:[function(require,module,exports){
module.exports = StreamMixin = {
addPost: function(post) {
@@ -1813,53 +1676,7 @@ module.exports = StreamMixin = {
}
}
-},{}],17:[function(require,module,exports){
-var React = require('react');
-var ContentEditable = require('../common/ContentEditable.js');
-
-module.exports = TwistComposer = React.createClass({ displayName: "TwistComposer",
-
- getInitialState: function () {
- return {
- html: 'default text',
- placeholder: true,
- editing: true
- };
- },
-
- render: function () {
- return React.createElement("div", null, React.createElement(ContentEditable, {
- tagName: "textarea",
- onChange: this.onChange,
- html: this.state.html,
- preventStyling: true,
- noLinebreaks: true,
- placeholder: this.state.placeholder,
- placeholderText: "Your Name",
- editing: this.state.editing }), React.createElement("button", { onClick: this.enableEditing }, "Enable Editing"));
- },
-
- onChange: function (textContent, setPlaceholder) {
- if (setPlaceholder) {
- this.setState({
- placeholder: true,
- html: ''
- });
- } else {
- this.setState({
- placeholder: false,
- html: textContent
- });
- }
- },
-
- enableEditing: function () {
- // set your contenteditable field into editing mode.
- this.setState({ editing: true });
- }
-
-});
-},{"../common/ContentEditable.js":3,"react":499}],18:[function(require,module,exports){
+},{}],18:[function(require,module,exports){
var React = require('react');
var Postboard = require("../common/Postboard.js");
var NewPostModalButton = require("../home/NewPostModalButton.js");
@@ -2046,10 +1863,9 @@ module.exports = Home = React.createClass({displayName: "Home",
);
}
});
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4,"../common/Postboard.js":9,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../common/StreamMixin.js":16,"../home/NewPostModalButton.js":19,"react":499,"react-bootstrap":107}],19:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3,"../common/Postboard.js":10,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../common/StreamMixin.js":17,"../home/NewPostModalButton.js":19,"react":500,"react-bootstrap":107}],19:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
- , OverlayMixin = ReactBootstrap.OverlayMixin
, Button = ReactBootstrap.Button
, ButtonGroup = ReactBootstrap.ButtonGroup
, Glyphicon = ReactBootstrap.Glyphicon
@@ -2060,10 +1876,9 @@ var React = require('react');
var SafeStateChangeMixin = require('../common/SafeStateChangeMixin.js');
var SetIntervalMixin = require("../common/SetIntervalMixin.js");
-var TwistComposer = require("../common/TwistComposer.js");
+var PostComposer = require("../common/PostComposer.js");
module.exports = NewPostModalButton = React.createClass({displayName: "NewPostModalButton",
- mixins: [OverlayMixin],
getInitialState: function () {
return {
isModalOpen: false
@@ -2074,10 +1889,9 @@ module.exports = NewPostModalButton = React.createClass({displayName: "NewPostMo
isModalOpen: !this.state.isModalOpen
});
},
- handleNewPost: function (e) {
- e.preventDefault();
- //console.log(e)
- var msg = JSON.parse(JSON.stringify(e.target[0].value));
+ handleNewPost: function (text) {
+ console.log(text)
+ var msg = text;
if (!msg) {
console.log("empty post was passed as new post")
return;
@@ -2090,44 +1904,27 @@ module.exports = NewPostModalButton = React.createClass({displayName: "NewPostMo
window.dispatchEvent(event);
});
-
- e.target[0].value = "";
-
-
+
this.handleToggle();
//React.findDOMNode(this.refs.msg).value = '';
return;
+
},
render: function() {
return (
React.createElement(Button, {onClick: this.handleToggle, className: "link-button-gray pull-right fullytight_all", bsStyle: "link"},
- React.createElement(Glyphicon, {glyph: "pencil"})
- )
- );
- },
- renderOverlay: function() {
-
- if (!this.state.isModalOpen) {
- return React.createElement("span", null);
- }
- /*
- */
-
- return (
- React.createElement(Modal, {bsStyle: "primary", title: React.createElement(Glyphicon, {glyph: "pencil"}), onRequestHide: this.handleToggle},
- React.createElement("div", {className: "modal-body"},
- React.createElement("form", {onSubmit: this.handleNewPost},
- React.createElement(Input, {type: "textarea", label: "Write Something", placeholder: "textarea"}),
- React.createElement(Input, {type: "submit", value: "Submit Post", "data-dismiss": "modal"})
+ React.createElement(Glyphicon, {glyph: "pencil"}),
+ React.createElement(Modal, {title: React.createElement(Glyphicon, {glyph: "pencil"}), show: this.state.isModalOpen, bsStyle: "primary", onHide: this.handleToggle},
+ React.createElement("div", {className: "modal-body"},
+ React.createElement(PostComposer, {onSubmit: this.handleNewPost})
+ )
)
)
- )
);
-
}
});
-},{"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../common/TwistComposer.js":17,"react":499,"react-bootstrap":107}],20:[function(require,module,exports){
+},{"../common/PostComposer.js":7,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"react":500,"react-bootstrap":107}],20:[function(require,module,exports){
var React = require('react');
var SetIntervalMixin = require("../common/SetIntervalMixin.js");
var SafeStateChangeMixin = require('../common/SafeStateChangeMixin.js');
@@ -2177,7 +1974,7 @@ module.exports = Accounts = React.createClass({displayName: "Accounts",
);
}
});
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../other/ImportAccountModalButton.js":24,"react":499,"react-bootstrap":107}],21:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../other/ImportAccountModalButton.js":24,"react":500,"react-bootstrap":107}],21:[function(require,module,exports){
var React = require('react');
var Postboard = require("../common/Postboard.js");
var SetIntervalMixin = require("../common/SetIntervalMixin.js");
@@ -2290,7 +2087,7 @@ module.exports = Conversation = React.createClass({displayName: "Conversation",
);
}
});
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4,"../common/Postboard.js":9,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../common/StreamMixin.js":16,"react":499,"react-bootstrap":107}],22:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3,"../common/Postboard.js":10,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../common/StreamMixin.js":17,"react":500,"react-bootstrap":107}],22:[function(require,module,exports){
var React = require('react');
@@ -2334,7 +2131,7 @@ module.exports = Featured = React.createClass({ displayName: "Featured",
}
});
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4,"../common/MiniProfile.js":6,"../common/ProfileBoard.js":10,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../common/StreamMixin.js":16,"react":499,"react-addons-css-transition-group":35,"react-bootstrap":107}],23:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3,"../common/MiniProfile.js":5,"../common/ProfileBoard.js":11,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../common/StreamMixin.js":17,"react":500,"react-addons-css-transition-group":35,"react-bootstrap":107}],23:[function(require,module,exports){
var React = require('react');
var Postboard = require("../common/Postboard.js");
var SetIntervalMixin = require("../common/SetIntervalMixin.js");
@@ -2415,7 +2212,7 @@ module.exports = Hashtag = React.createClass({displayName: "Hashtag",
);
}
});
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4,"../common/Postboard.js":9,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../common/StreamMixin.js":16,"react":499,"react-bootstrap":107}],24:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3,"../common/Postboard.js":10,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../common/StreamMixin.js":17,"react":500,"react-bootstrap":107}],24:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, OverlayMixin = ReactBootstrap.OverlayMixin
@@ -2508,7 +2305,7 @@ module.exports = ImportAccountModalButton = React.createClass({displayName: "Imp
}
});
-},{"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"react":499,"react-bootstrap":107}],25:[function(require,module,exports){
+},{"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"react":500,"react-bootstrap":107}],25:[function(require,module,exports){
var React = require('react');
var SetIntervalMixin = require("../common/SetIntervalMixin.js");
var SafeStateChangeMixin = require('../common/SafeStateChangeMixin.js');
@@ -2579,7 +2376,7 @@ module.exports = Settings = React.createClass({displayName: "Settings",
);
}
});
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../other/ImportAccountModalButton.js":24,"react":499,"react-bootstrap":107}],26:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../other/ImportAccountModalButton.js":24,"react":500,"react-bootstrap":107}],26:[function(require,module,exports){
@@ -2725,7 +2522,7 @@ module.exports = EditAvatarModalButton = React.createClass({displayName: "EditAv
}
});
-},{"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"react":499,"react-bootstrap":107}],27:[function(require,module,exports){
+},{"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"react":500,"react-bootstrap":107}],27:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, OverlayMixin = ReactBootstrap.OverlayMixin
@@ -2850,7 +2647,7 @@ module.exports = EditProfileModalButton = React.createClass({displayName: "EditP
}
});
-},{"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"react":499,"react-bootstrap":107}],28:[function(require,module,exports){
+},{"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"react":500,"react-bootstrap":107}],28:[function(require,module,exports){
var React = require('react');
@@ -2932,7 +2729,7 @@ module.exports = Followings = React.createClass({displayName: "Followings",
}
});
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4,"../common/MiniProfile.js":6,"../common/ProfileBoard.js":10,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../common/StreamMixin.js":16,"react":499,"react-addons-css-transition-group":35,"react-bootstrap":107}],29:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3,"../common/MiniProfile.js":5,"../common/ProfileBoard.js":11,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../common/StreamMixin.js":17,"react":500,"react-addons-css-transition-group":35,"react-bootstrap":107}],29:[function(require,module,exports){
var React = require('react');
var MiniProfile = require("../common/MiniProfile.js");
var Postboard = require("../common/Postboard.js");
@@ -2985,7 +2782,7 @@ module.exports = Mentions = React.createClass({displayName: "Mentions",
);
}
});
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4,"../common/MiniProfile.js":6,"../common/Postboard.js":9,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../common/StreamMixin.js":16,"react":499}],30:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3,"../common/MiniProfile.js":5,"../common/Postboard.js":10,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../common/StreamMixin.js":17,"react":500}],30:[function(require,module,exports){
var ReactBootstrap = require('react-bootstrap')
, Grid = ReactBootstrap.Grid
@@ -3074,7 +2871,7 @@ module.exports = Profile = React.createClass({displayName: "Profile",
);
}
});
-},{"../common/FollowButton.js":5,"../common/ProfileMixin.js":11,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../profile/EditAvatarModalButton.js":26,"../profile/EditProfileModalButton.js":27,"react":499,"react-bootstrap":107,"react-router":307}],31:[function(require,module,exports){
+},{"../common/FollowButton.js":4,"../common/ProfileMixin.js":12,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../profile/EditAvatarModalButton.js":26,"../profile/EditProfileModalButton.js":27,"react":500,"react-bootstrap":107,"react-router":307}],31:[function(require,module,exports){
var React = require('react');
var Postboard = require("../common/Postboard.js");
var SetIntervalMixin = require("../common/SetIntervalMixin.js");
@@ -3173,7 +2970,7 @@ module.exports = Timeline = React.createClass({displayName: "Timeline",
);
}
});
-},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":4,"../common/Postboard.js":9,"../common/SafeStateChangeMixin.js":14,"../common/SetIntervalMixin.js":15,"../common/StreamMixin.js":16,"react":499,"react-bootstrap":107}],32:[function(require,module,exports){
+},{"../common/AppSettingsMixin.js":2,"../common/EventListenerMixin.js":3,"../common/Postboard.js":10,"../common/SafeStateChangeMixin.js":15,"../common/SetIntervalMixin.js":16,"../common/StreamMixin.js":17,"react":500,"react-bootstrap":107}],32:[function(require,module,exports){
// shim for using process in browser
var process = module.exports = {};
@@ -3398,7 +3195,7 @@ function escapeHtml(string) {
},{}],35:[function(require,module,exports){
module.exports = require('react/lib/ReactCSSTransitionGroup');
-},{"react/lib/ReactCSSTransitionGroup":364}],36:[function(require,module,exports){
+},{"react/lib/ReactCSSTransitionGroup":365}],36:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -3429,7 +3226,7 @@ var Accordion = _react2['default'].createClass({
exports['default'] = Accordion;
module.exports = exports['default'];
-},{"./PanelGroup":92,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"react":499}],37:[function(require,module,exports){
+},{"./PanelGroup":92,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"react":500}],37:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -3523,7 +3320,7 @@ var Alert = _react2['default'].createClass({
exports['default'] = _utilsBootstrapUtils.bsStyles(_styleMaps.State.values(), _styleMaps.State.INFO, _utilsBootstrapUtils.bsClass('alert', Alert));
module.exports = exports['default'];
-},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],38:[function(require,module,exports){
+},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],38:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -3583,7 +3380,7 @@ var Badge = _react2['default'].createClass({
exports['default'] = Badge;
module.exports = exports['default'];
-},{"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],39:[function(require,module,exports){
+},{"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],39:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -3646,7 +3443,7 @@ var Breadcrumb = _react2['default'].createClass({
exports['default'] = Breadcrumb;
module.exports = exports['default'];
-},{"./utils/ValidComponentChildren":111,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499}],40:[function(require,module,exports){
+},{"./utils/ValidComponentChildren":111,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500}],40:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -3743,7 +3540,7 @@ var BreadcrumbItem = _react2['default'].createClass({
exports['default'] = BreadcrumbItem;
module.exports = exports['default'];
-},{"./SafeAnchor":97,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499}],41:[function(require,module,exports){
+},{"./SafeAnchor":97,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500}],41:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -3872,7 +3669,7 @@ Button.types = types;
exports['default'] = _utilsBootstrapUtils.bsStyles(ButtonStyles, _styleMaps.DEFAULT, _utilsBootstrapUtils.bsSizes([_styleMaps.Sizes.LARGE, _styleMaps.Sizes.SMALL, _styleMaps.Sizes.XSMALL], _utilsBootstrapUtils.bsClass('btn', Button)));
module.exports = exports['default'];
-},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/elementType":272}],42:[function(require,module,exports){
+},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/elementType":272}],42:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -3947,7 +3744,7 @@ var ButtonGroup = _react2['default'].createClass({
exports['default'] = _utilsBootstrapUtils.bsClass('btn-group', ButtonGroup);
module.exports = exports['default'];
-},{"./Button":41,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/all":269}],43:[function(require,module,exports){
+},{"./Button":41,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/all":269}],43:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -4037,7 +3834,7 @@ ButtonInput.propTypes = {
exports['default'] = ButtonInput;
module.exports = exports['default'];
-},{"./Button":41,"./FormGroup":57,"./InputBase":62,"./utils/childrenValueInputValidation":114,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":499}],44:[function(require,module,exports){
+},{"./Button":41,"./FormGroup":57,"./InputBase":62,"./utils/childrenValueInputValidation":114,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":500}],44:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -4090,7 +3887,7 @@ var ButtonToolbar = _react2['default'].createClass({
exports['default'] = ButtonToolbar;
module.exports = exports['default'];
-},{"./Button":41,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],45:[function(require,module,exports){
+},{"./Button":41,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],45:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -4401,7 +4198,7 @@ var Carousel = _react2['default'].createClass({
exports['default'] = Carousel;
module.exports = exports['default'];
-},{"./Glyphicon":58,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],46:[function(require,module,exports){
+},{"./Glyphicon":58,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],46:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -4525,7 +4322,7 @@ var CarouselItem = _react2['default'].createClass({
exports['default'] = CarouselItem;
module.exports = exports['default'];
-},{"./utils/TransitionEvents":110,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-dom":279}],47:[function(require,module,exports){
+},{"./utils/TransitionEvents":110,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-dom":279}],47:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -4774,7 +4571,7 @@ var Col = _react2['default'].createClass({
exports['default'] = Col;
module.exports = exports['default'];
-},{"./styleMaps":108,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/elementType":272}],48:[function(require,module,exports){
+},{"./styleMaps":108,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/elementType":272}],48:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -5021,7 +4818,7 @@ Collapse.defaultProps = {
exports['default'] = Collapse;
module.exports = exports['default'];
-},{"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"dom-helpers/style":170,"react":499,"react-overlays/lib/Transition":257,"react-prop-types/lib/deprecated":271}],49:[function(require,module,exports){
+},{"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"dom-helpers/style":170,"react":500,"react-overlays/lib/Transition":257,"react-prop-types/lib/deprecated":271}],49:[function(require,module,exports){
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
@@ -5139,7 +4936,7 @@ var CollapsibleNav = _react2['default'].createClass({
exports['default'] = _utilsDeprecationWarning2['default'].wrapper(CollapsibleNav, 'CollapsibleNav', 'Navbar.Collapse', 'http://react-bootstrap.github.io/components.html#navbars');
module.exports = exports['default'];
-},{"./Collapse":48,"./utils/ValidComponentChildren":111,"./utils/createChainedFunction":115,"./utils/deprecationWarning":117,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],50:[function(require,module,exports){
+},{"./Collapse":48,"./utils/ValidComponentChildren":111,"./utils/createChainedFunction":115,"./utils/deprecationWarning":117,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],50:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -5541,7 +5338,7 @@ Dropdown.Menu = _DropdownMenu2['default'];
exports['default'] = Dropdown;
module.exports = exports['default'];
-},{"./ButtonGroup":42,"./DropdownMenu":52,"./DropdownToggle":53,"./utils/CustomPropTypes":109,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"dom-helpers/activeElement":151,"dom-helpers/query/contains":161,"keycode":181,"lodash-compat/collection/find":183,"lodash-compat/object/omit":245,"react":499,"react-dom":279,"react-prop-types/lib/all":269,"react-prop-types/lib/elementType":272,"react-prop-types/lib/isRequiredForA11y":273,"uncontrollable":276}],51:[function(require,module,exports){
+},{"./ButtonGroup":42,"./DropdownMenu":52,"./DropdownToggle":53,"./utils/CustomPropTypes":109,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"dom-helpers/activeElement":151,"dom-helpers/query/contains":161,"keycode":181,"lodash-compat/collection/find":183,"lodash-compat/object/omit":245,"react":500,"react-dom":279,"react-prop-types/lib/all":269,"react-prop-types/lib/elementType":272,"react-prop-types/lib/isRequiredForA11y":273,"uncontrollable":276}],51:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -5648,7 +5445,7 @@ DropdownButton.defaultProps = {
exports['default'] = DropdownButton;
module.exports = exports['default'];
-},{"./Button":41,"./Dropdown":50,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"lodash-compat/object/omit":245,"lodash-compat/object/pick":247,"react":499}],52:[function(require,module,exports){
+},{"./Button":41,"./Dropdown":50,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"lodash-compat/object/omit":245,"lodash-compat/object/pick":247,"react":500}],52:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -5845,7 +5642,7 @@ DropdownMenu.propTypes = {
exports['default'] = DropdownMenu;
module.exports = exports['default'];
-},{"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"keycode":181,"react":499,"react-dom":279,"react-overlays/lib/RootCloseWrapper":256}],53:[function(require,module,exports){
+},{"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"keycode":181,"react":500,"react-dom":279,"react-overlays/lib/RootCloseWrapper":256}],53:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -5934,7 +5731,7 @@ DropdownToggle.isToggle = true;
DropdownToggle.titleProp = 'title';
DropdownToggle.onClickProp = 'onClick';
module.exports = exports['default'];
-},{"./Button":41,"./SafeAnchor":97,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],54:[function(require,module,exports){
+},{"./Button":41,"./SafeAnchor":97,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],54:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -6058,7 +5855,7 @@ Fade.defaultProps = {
exports['default'] = Fade;
module.exports = exports['default'];
-},{"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-overlays/lib/Transition":257,"react-prop-types/lib/deprecated":271}],55:[function(require,module,exports){
+},{"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-overlays/lib/Transition":257,"react-prop-types/lib/deprecated":271}],55:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -6122,7 +5919,7 @@ Static.propTypes = {
exports['default'] = Static;
module.exports = exports['default'];
-},{"../InputBase":62,"../utils/childrenValueInputValidation":114,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],56:[function(require,module,exports){
+},{"../InputBase":62,"../utils/childrenValueInputValidation":114,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],56:[function(require,module,exports){
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
@@ -6204,7 +6001,7 @@ FormGroup.propTypes = {
exports['default'] = FormGroup;
module.exports = exports['default'];
-},{"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],58:[function(require,module,exports){
+},{"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],58:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -6263,7 +6060,7 @@ var Glyphicon = _react2['default'].createClass({
exports['default'] = Glyphicon;
module.exports = exports['default'];
-},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],59:[function(require,module,exports){
+},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],59:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -6322,7 +6119,7 @@ var Grid = _react2['default'].createClass({
exports['default'] = Grid;
module.exports = exports['default'];
-},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/elementType":272}],60:[function(require,module,exports){
+},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/elementType":272}],60:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -6388,7 +6185,7 @@ var Image = _react2['default'].createClass({
exports['default'] = Image;
module.exports = exports['default'];
-},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],61:[function(require,module,exports){
+},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],61:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -6444,7 +6241,7 @@ Input.propTypes = {
exports['default'] = Input;
module.exports = exports['default'];
-},{"./FormControls":56,"./InputBase":62,"./utils/deprecationWarning":117,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/interop-require-wildcard":126,"react":499}],62:[function(require,module,exports){
+},{"./FormControls":56,"./InputBase":62,"./utils/deprecationWarning":117,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/interop-require-wildcard":126,"react":500}],62:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -6707,7 +6504,7 @@ InputBase.defaultProps = {
exports['default'] = InputBase;
module.exports = exports['default'];
-},{"./FormGroup":57,"./Glyphicon":58,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],63:[function(require,module,exports){
+},{"./FormGroup":57,"./Glyphicon":58,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],63:[function(require,module,exports){
// https://www.npmjs.org/package/react-interpolate-component
// TODO: Drop this in favor of es6 string interpolation
@@ -6805,7 +6602,7 @@ var Interpolate = _react2['default'].createClass({
exports['default'] = Interpolate;
module.exports = exports['default'];
-},{"./utils/ValidComponentChildren":111,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"react":499}],64:[function(require,module,exports){
+},{"./utils/ValidComponentChildren":111,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"react":500}],64:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -6853,7 +6650,7 @@ var Jumbotron = _react2['default'].createClass({
exports['default'] = Jumbotron;
module.exports = exports['default'];
-},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/elementType":272}],65:[function(require,module,exports){
+},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/elementType":272}],65:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -6907,7 +6704,7 @@ var Label = (function (_React$Component) {
exports['default'] = Label;
module.exports = exports['default'];
-},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],66:[function(require,module,exports){
+},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],66:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -7035,7 +6832,7 @@ ListGroup.propTypes = {
exports['default'] = ListGroup;
module.exports = exports['default'];
-},{"./ListGroupItem":67,"./utils/ValidComponentChildren":111,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],67:[function(require,module,exports){
+},{"./ListGroupItem":67,"./utils/ValidComponentChildren":111,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],67:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -7172,7 +6969,7 @@ ListGroupItem.defaultTypes = {
exports['default'] = _utilsBootstrapUtils.bsStyles(_styleMaps.State.values(), _utilsBootstrapUtils.bsClass('list-group-item', ListGroupItem));
module.exports = exports['default'];
-},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],68:[function(require,module,exports){
+},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],68:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -7307,7 +7104,7 @@ MenuItem.defaultProps = {
exports['default'] = _utilsBootstrapUtils.bsClass('dropdown', MenuItem);
module.exports = exports['default'];
-},{"./SafeAnchor":97,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499,"react-prop-types/lib/all":269}],69:[function(require,module,exports){
+},{"./SafeAnchor":97,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500,"react-prop-types/lib/all":269}],69:[function(require,module,exports){
/* eslint-disable react/prop-types */
'use strict';
@@ -7603,7 +7400,7 @@ Modal.BACKDROP_TRANSITION_DURATION = 150;
exports['default'] = _utilsBootstrapUtils.bsSizes([_styleMaps.Sizes.LARGE, _styleMaps.Sizes.SMALL], _utilsBootstrapUtils.bsClass('modal', Modal));
module.exports = exports['default'];
-},{"./Fade":54,"./ModalBody":70,"./ModalDialog":71,"./ModalFooter":72,"./ModalHeader":73,"./ModalTitle":74,"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"dom-helpers/events":157,"dom-helpers/ownerDocument":160,"dom-helpers/util/inDOM":178,"dom-helpers/util/scrollbarSize":179,"lodash-compat/object/pick":247,"react":499,"react-dom":279,"react-overlays/lib/Modal":251,"react-overlays/lib/utils/isOverflowing":262,"react-prop-types/lib/elementType":272}],70:[function(require,module,exports){
+},{"./Fade":54,"./ModalBody":70,"./ModalDialog":71,"./ModalFooter":72,"./ModalHeader":73,"./ModalTitle":74,"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"dom-helpers/events":157,"dom-helpers/ownerDocument":160,"dom-helpers/util/inDOM":178,"dom-helpers/util/scrollbarSize":179,"lodash-compat/object/pick":247,"react":500,"react-dom":279,"react-overlays/lib/Modal":251,"react-overlays/lib/utils/isOverflowing":262,"react-prop-types/lib/elementType":272}],70:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -7651,7 +7448,7 @@ var ModalBody = (function (_React$Component) {
exports['default'] = _utilsBootstrapUtils.bsClass('modal', ModalBody);
module.exports = exports['default'];
-},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],71:[function(require,module,exports){
+},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],71:[function(require,module,exports){
/* eslint-disable react/prop-types */
'use strict';
@@ -7719,7 +7516,7 @@ var ModalDialog = _react2['default'].createClass({
exports['default'] = _utilsBootstrapUtils.bsSizes([_styleMaps.Sizes.LARGE, _styleMaps.Sizes.SMALL], _utilsBootstrapUtils.bsClass('modal', ModalDialog));
module.exports = exports['default'];
-},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],72:[function(require,module,exports){
+},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],72:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -7778,7 +7575,7 @@ ModalFooter.defaultProps = {
exports['default'] = _utilsBootstrapUtils.bsClass('modal', ModalFooter);
module.exports = exports['default'];
-},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],73:[function(require,module,exports){
+},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],73:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -7883,7 +7680,7 @@ ModalHeader.defaultProps = {
exports['default'] = _utilsBootstrapUtils.bsClass('modal', ModalHeader);
module.exports = exports['default'];
-},{"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499}],74:[function(require,module,exports){
+},{"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500}],74:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -7931,7 +7728,7 @@ var ModalTitle = (function (_React$Component) {
exports['default'] = _utilsBootstrapUtils.bsClass('modal', ModalTitle);
module.exports = exports['default'];
-},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],75:[function(require,module,exports){
+},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],75:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -8145,7 +7942,7 @@ Nav.defaultProps = {
exports['default'] = _utilsBootstrapUtils.bsClass('nav', _utilsBootstrapUtils.bsStyles(['tabs', 'pills'], Nav));
module.exports = exports['default'];
-},{"./Collapse":48,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/all":269,"react-prop-types/lib/deprecated":271}],76:[function(require,module,exports){
+},{"./Collapse":48,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/all":269,"react-prop-types/lib/deprecated":271}],76:[function(require,module,exports){
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
@@ -8234,7 +8031,7 @@ NavDropdown.propTypes = _extends({
exports['default'] = NavDropdown;
module.exports = exports['default'];
-},{"./Dropdown":50,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":499}],78:[function(require,module,exports){
+},{"./Dropdown":50,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":500}],78:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -8346,7 +8143,7 @@ var NavItem = _react2['default'].createClass({
exports['default'] = NavItem;
module.exports = exports['default'];
//eslint-disable-line
-},{"./SafeAnchor":97,"./utils/createChainedFunction":115,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499}],79:[function(require,module,exports){
+},{"./SafeAnchor":97,"./utils/createChainedFunction":115,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500}],79:[function(require,module,exports){
/* eslint react/no-multi-comp: 0 */
'use strict';
@@ -8615,7 +8412,7 @@ Navbar.Link = createSimpleWrapper('a', 'link', 'NavbarLink');
exports['default'] = Navbar;
module.exports = exports['default'];
-},{"./Grid":59,"./NavbarBrand":80,"./NavbarCollapse":81,"./NavbarHeader":82,"./NavbarToggle":83,"./deprecated/Navbar":106,"./styleMaps":108,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/deprecationWarning":117,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499,"react-prop-types/lib/deprecated":271,"react-prop-types/lib/elementType":272,"uncontrollable":276}],80:[function(require,module,exports){
+},{"./Grid":59,"./NavbarBrand":80,"./NavbarCollapse":81,"./NavbarHeader":82,"./NavbarToggle":83,"./deprecated/Navbar":106,"./styleMaps":108,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/deprecationWarning":117,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500,"react-prop-types/lib/deprecated":271,"react-prop-types/lib/elementType":272,"uncontrollable":276}],80:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -8685,7 +8482,7 @@ NavbarBrand.contextTypes = {
exports['default'] = NavbarBrand;
module.exports = exports['default'];
-},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499}],81:[function(require,module,exports){
+},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500}],81:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -8741,7 +8538,7 @@ var NavbarCollapse = _react2['default'].createClass({
exports['default'] = NavbarCollapse;
module.exports = exports['default'];
-},{"./Collapse":48,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":499}],82:[function(require,module,exports){
+},{"./Collapse":48,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":500}],82:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -8784,7 +8581,7 @@ var NavbarHeader = _react2['default'].createClass({
exports['default'] = NavbarHeader;
module.exports = exports['default'];
-},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":499}],83:[function(require,module,exports){
+},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":500}],83:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -8844,7 +8641,7 @@ var NavbarToggle = _react2['default'].createClass({
exports['default'] = NavbarToggle;
module.exports = exports['default'];
-},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":499}],84:[function(require,module,exports){
+},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"react":500}],84:[function(require,module,exports){
/* eslint react/prop-types: [2, {ignore: ["container", "containerPadding", "target", "placement", "children"] }] */
/* These properties are validated in 'Portal' and 'Position' components */
@@ -8984,7 +8781,7 @@ Overlay.defaultProps = {
exports['default'] = Overlay;
module.exports = exports['default'];
-},{"./Fade":54,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499,"react-overlays/lib/Overlay":253,"react-prop-types/lib/elementType":272}],85:[function(require,module,exports){
+},{"./Fade":54,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500,"react-overlays/lib/Overlay":253,"react-prop-types/lib/elementType":272}],85:[function(require,module,exports){
(function (process){
/* eslint-disable react/prop-types */
@@ -9301,7 +9098,7 @@ var OverlayTrigger = _react2['default'].createClass({
exports['default'] = OverlayTrigger;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./Overlay":84,"./utils/createChainedFunction":115,"_process":32,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"dom-helpers/query/contains":161,"lodash-compat/object/pick":247,"react":499,"react-dom":279,"warning":278}],86:[function(require,module,exports){
+},{"./Overlay":84,"./utils/createChainedFunction":115,"_process":32,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"dom-helpers/query/contains":161,"lodash-compat/object/pick":247,"react":500,"react-dom":279,"warning":278}],86:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -9336,7 +9133,7 @@ var PageHeader = _react2['default'].createClass({
exports['default'] = PageHeader;
module.exports = exports['default'];
-},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],87:[function(require,module,exports){
+},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],87:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -9415,7 +9212,7 @@ var PageItem = _react2['default'].createClass({
exports['default'] = PageItem;
module.exports = exports['default'];
-},{"./SafeAnchor":97,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],88:[function(require,module,exports){
+},{"./SafeAnchor":97,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],88:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -9466,7 +9263,7 @@ var Pager = _react2['default'].createClass({
exports['default'] = Pager;
module.exports = exports['default'];
-},{"./utils/ValidComponentChildren":111,"./utils/createChainedFunction":115,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],89:[function(require,module,exports){
+},{"./utils/ValidComponentChildren":111,"./utils/createChainedFunction":115,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],89:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -9716,7 +9513,7 @@ var Pagination = _react2['default'].createClass({
exports['default'] = _utilsBootstrapUtils.bsClass('pagination', Pagination);
module.exports = exports['default'];
-},{"./PaginationButton":90,"./SafeAnchor":97,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/elementType":272}],90:[function(require,module,exports){
+},{"./PaginationButton":90,"./SafeAnchor":97,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/elementType":272}],90:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -9800,7 +9597,7 @@ var PaginationButton = _react2['default'].createClass({
exports['default'] = PaginationButton;
module.exports = exports['default'];
-},{"./utils/createSelectedEvent":116,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499,"react-prop-types/lib/elementType":272}],91:[function(require,module,exports){
+},{"./utils/createSelectedEvent":116,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500,"react-prop-types/lib/elementType":272}],91:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -10050,7 +9847,7 @@ var PANEL_STATES = _styleMaps.State.values().concat(_styleMaps.DEFAULT, _styleMa
exports['default'] = _utilsBootstrapUtils.bsStyles(PANEL_STATES, _styleMaps.DEFAULT, _utilsBootstrapUtils.bsClass('panel', Panel));
module.exports = exports['default'];
-},{"./Collapse":48,"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499}],92:[function(require,module,exports){
+},{"./Collapse":48,"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500}],92:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -10166,7 +9963,7 @@ var PanelGroup = _react2['default'].createClass({
exports['default'] = _utilsBootstrapUtils.bsClass('panel-group', PanelGroup);
module.exports = exports['default'];
-},{"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499}],93:[function(require,module,exports){
+},{"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500}],93:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -10279,7 +10076,7 @@ var Popover = _react2['default'].createClass({
exports['default'] = Popover;
module.exports = exports['default'];
// we don't want to expose the `style` property
-},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/isRequiredForA11y":273}],94:[function(require,module,exports){
+},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/isRequiredForA11y":273}],94:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -10478,7 +10275,7 @@ ProgressBar.defaultProps = _extends({}, ProgressBar.defaultProps, {
exports['default'] = _utilsBootstrapUtils.bsStyles(_styleMaps.State.values(), _utilsBootstrapUtils.bsClass('progress-bar', ProgressBar));
module.exports = exports['default'];
-},{"./Interpolate":63,"./styleMaps":108,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499}],95:[function(require,module,exports){
+},{"./Interpolate":63,"./styleMaps":108,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500}],95:[function(require,module,exports){
(function (process){
'use strict';
@@ -10574,7 +10371,7 @@ ResponsiveEmbed.propTypes = {
exports['default'] = ResponsiveEmbed;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"_process":32,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499,"warning":278}],96:[function(require,module,exports){
+},{"_process":32,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500,"warning":278}],96:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -10624,7 +10421,7 @@ var Row = _react2['default'].createClass({
exports['default'] = Row;
module.exports = exports['default'];
-},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/elementType":272}],97:[function(require,module,exports){
+},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/elementType":272}],97:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -10685,7 +10482,7 @@ SafeAnchor.propTypes = {
onClick: _react2['default'].PropTypes.func
};
module.exports = exports['default'];
-},{"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"react":499}],98:[function(require,module,exports){
+},{"./utils/createChainedFunction":115,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"react":500}],98:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -10809,7 +10606,7 @@ SplitButton.Toggle = _SplitToggle2['default'];
exports['default'] = SplitButton;
module.exports = exports['default'];
-},{"./Button":41,"./Dropdown":50,"./SplitToggle":99,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"lodash-compat/object/omit":245,"lodash-compat/object/pick":247,"react":499}],99:[function(require,module,exports){
+},{"./Button":41,"./Dropdown":50,"./SplitToggle":99,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"lodash-compat/object/omit":245,"lodash-compat/object/pick":247,"react":500}],99:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -10853,7 +10650,7 @@ exports['default'] = SplitToggle;
SplitToggle.defaultProps = _DropdownToggle2['default'].defaultProps;
module.exports = exports['default'];
-},{"./DropdownToggle":53,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"react":499}],100:[function(require,module,exports){
+},{"./DropdownToggle":53,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"react":500}],100:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -10981,7 +10778,7 @@ var Tab = _react2['default'].createClass({
exports['default'] = Tab;
module.exports = exports['default'];
-},{"./utils/TransitionEvents":110,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-dom":279}],101:[function(require,module,exports){
+},{"./utils/TransitionEvents":110,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-dom":279}],101:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -11043,7 +10840,7 @@ var Table = _react2['default'].createClass({
exports['default'] = Table;
module.exports = exports['default'];
-},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],102:[function(require,module,exports){
+},{"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],102:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -11487,7 +11284,7 @@ var Tabs = _react2['default'].createClass({
exports['default'] = Tabs;
module.exports = exports['default'];
-},{"./Col":47,"./Nav":75,"./NavItem":78,"./styleMaps":108,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"keycode":181,"react":499,"react-dom":279}],103:[function(require,module,exports){
+},{"./Col":47,"./Nav":75,"./NavItem":78,"./styleMaps":108,"./utils/ValidComponentChildren":111,"./utils/bootstrapUtils":112,"./utils/createChainedFunction":115,"babel-runtime/core-js/object/keys":120,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"keycode":181,"react":500,"react-dom":279}],103:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -11555,7 +11352,7 @@ var Thumbnail = _react2['default'].createClass({
exports['default'] = _utilsBootstrapUtils.bsClass('thumbnail', Thumbnail);
module.exports = exports['default'];
-},{"./SafeAnchor":97,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],104:[function(require,module,exports){
+},{"./SafeAnchor":97,"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],104:[function(require,module,exports){
'use strict';
var _extends = require('babel-runtime/helpers/extends')['default'];
@@ -11655,7 +11452,7 @@ var Tooltip = _react2['default'].createClass({
exports['default'] = Tooltip;
module.exports = exports['default'];
-},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499,"react-prop-types/lib/isRequiredForA11y":273}],105:[function(require,module,exports){
+},{"./utils/bootstrapUtils":112,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500,"react-prop-types/lib/isRequiredForA11y":273}],105:[function(require,module,exports){
'use strict';
var _inherits = require('babel-runtime/helpers/inherits')['default'];
@@ -11709,7 +11506,7 @@ var Well = (function (_React$Component) {
exports['default'] = Well;
module.exports = exports['default'];
-},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":499}],106:[function(require,module,exports){
+},{"./styleMaps":108,"./utils/bootstrapUtils":112,"babel-runtime/helpers/class-call-check":122,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/inherits":124,"babel-runtime/helpers/interop-require-default":125,"classnames":33,"react":500}],106:[function(require,module,exports){
'use strict';
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
@@ -11969,7 +11766,7 @@ var NAVBAR_STATES = [_styleMaps.DEFAULT, _styleMaps.INVERSE];
exports['default'] = _utilsBootstrapUtils.bsStyles(NAVBAR_STATES, _styleMaps.DEFAULT, _utilsBootstrapUtils.bsClass('navbar', Navbar));
module.exports = exports['default'];
-},{"../Grid":59,"../NavBrand":76,"../styleMaps":108,"../utils/ValidComponentChildren":111,"../utils/bootstrapUtils":112,"../utils/createChainedFunction":115,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":499,"react-prop-types/lib/deprecated":271,"react-prop-types/lib/elementType":272}],107:[function(require,module,exports){
+},{"../Grid":59,"../NavBrand":76,"../styleMaps":108,"../utils/ValidComponentChildren":111,"../utils/bootstrapUtils":112,"../utils/createChainedFunction":115,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"babel-runtime/helpers/object-without-properties":127,"classnames":33,"react":500,"react-prop-types/lib/deprecated":271,"react-prop-types/lib/elementType":272}],107:[function(require,module,exports){
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
@@ -12753,7 +12550,7 @@ exports['default'] = {
hasValidComponent: hasValidComponent
};
module.exports = exports['default'];
-},{"babel-runtime/helpers/interop-require-default":125,"react":499}],112:[function(require,module,exports){
+},{"babel-runtime/helpers/interop-require-default":125,"react":500}],112:[function(require,module,exports){
(function (process){
'use strict';
@@ -12932,7 +12729,7 @@ exports['default'] = {
var _curry = curry;
exports._curry = _curry;
}).call(this,require('_process'))
-},{"../styleMaps":108,"_process":32,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"invariant":180,"react":499,"warning":278}],113:[function(require,module,exports){
+},{"../styleMaps":108,"_process":32,"babel-runtime/helpers/extends":123,"babel-runtime/helpers/interop-require-default":125,"invariant":180,"react":500,"warning":278}],113:[function(require,module,exports){
'use strict';
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
@@ -12986,7 +12783,7 @@ function valueValidation(props, propName, componentName) {
}
module.exports = exports['default'];
-},{"babel-runtime/helpers/interop-require-default":125,"react":499,"react-prop-types/lib/singlePropFrom":274}],115:[function(require,module,exports){
+},{"babel-runtime/helpers/interop-require-default":125,"react":500,"react-prop-types/lib/singlePropFrom":274}],115:[function(require,module,exports){
/**
* Safe chained function
*
@@ -17184,7 +16981,7 @@ Modal.manager = modalManager;
exports['default'] = Modal;
module.exports = exports['default'];
-},{"./ModalManager":252,"./Portal":254,"./utils/addEventListener":258,"./utils/addFocusListener":259,"./utils/getContainer":261,"./utils/ownerDocument":265,"dom-helpers/activeElement":151,"dom-helpers/query/contains":161,"dom-helpers/util/inDOM":178,"react":499,"react-prop-types/lib/elementType":267,"react-prop-types/lib/mountable":268,"warning":278}],252:[function(require,module,exports){
+},{"./ModalManager":252,"./Portal":254,"./utils/addEventListener":258,"./utils/addFocusListener":259,"./utils/getContainer":261,"./utils/ownerDocument":265,"dom-helpers/activeElement":151,"dom-helpers/query/contains":161,"dom-helpers/util/inDOM":178,"react":500,"react-prop-types/lib/elementType":267,"react-prop-types/lib/mountable":268,"warning":278}],252:[function(require,module,exports){
'use strict';
exports.__esModule = true;
@@ -17535,7 +17332,7 @@ Overlay.propTypes = _extends({}, _Portal2['default'].propTypes, _Position2['defa
exports['default'] = Overlay;
module.exports = exports['default'];
-},{"./Portal":254,"./Position":255,"./RootCloseWrapper":256,"react":499,"react-prop-types/lib/elementType":267}],254:[function(require,module,exports){
+},{"./Portal":254,"./Position":255,"./RootCloseWrapper":256,"react":500,"react-prop-types/lib/elementType":267}],254:[function(require,module,exports){
'use strict';
exports.__esModule = true;
@@ -17659,7 +17456,7 @@ var Portal = _react2['default'].createClass({
exports['default'] = Portal;
module.exports = exports['default'];
-},{"./utils/getContainer":261,"./utils/ownerDocument":265,"react":499,"react-dom":279,"react-prop-types/lib/mountable":268}],255:[function(require,module,exports){
+},{"./utils/getContainer":261,"./utils/ownerDocument":265,"react":500,"react-dom":279,"react-prop-types/lib/mountable":268}],255:[function(require,module,exports){
'use strict';
exports.__esModule = true;
@@ -17846,7 +17643,7 @@ Position.defaultProps = {
exports['default'] = Position;
module.exports = exports['default'];
-},{"./utils/getContainer":261,"./utils/overlayPositionUtils":264,"./utils/ownerDocument":265,"classnames":33,"react":499,"react-dom":279,"react-prop-types/lib/mountable":268}],256:[function(require,module,exports){
+},{"./utils/getContainer":261,"./utils/overlayPositionUtils":264,"./utils/ownerDocument":265,"classnames":33,"react":500,"react-dom":279,"react-prop-types/lib/mountable":268}],256:[function(require,module,exports){
'use strict';
exports.__esModule = true;
@@ -18006,7 +17803,7 @@ RootCloseWrapper.propTypes = {
noWrap: _react2['default'].PropTypes.bool
};
module.exports = exports['default'];
-},{"./utils/addEventListener":258,"./utils/createChainedFunction":260,"./utils/ownerDocument":265,"react":499,"react-dom":279}],257:[function(require,module,exports){
+},{"./utils/addEventListener":258,"./utils/createChainedFunction":260,"./utils/ownerDocument":265,"react":500,"react-dom":279}],257:[function(require,module,exports){
'use strict';
exports.__esModule = true;
@@ -18344,7 +18141,7 @@ Transition.defaultProps = {
};
exports['default'] = Transition;
-},{"classnames":33,"dom-helpers/events/on":159,"dom-helpers/transition/properties":172,"react":499,"react-dom":279}],258:[function(require,module,exports){
+},{"classnames":33,"dom-helpers/events/on":159,"dom-helpers/transition/properties":172,"react":500,"react-dom":279}],258:[function(require,module,exports){
'use strict';
exports.__esModule = true;
@@ -18782,7 +18579,7 @@ function validate(props, propName, componentName) {
exports['default'] = _common.createChainableTypeChecker(validate);
module.exports = exports['default'];
-},{"./common":266,"react":499}],268:[function(require,module,exports){
+},{"./common":266,"react":500}],268:[function(require,module,exports){
'use strict';
exports.__esModule = true;
@@ -18874,7 +18671,7 @@ function deprecated(propType, explanation) {
module.exports = exports['default'];
},{"warning":278}],272:[function(require,module,exports){
arguments[4][267][0].apply(exports,arguments)
-},{"./common":270,"dup":267,"react":499}],273:[function(require,module,exports){
+},{"./common":270,"dup":267,"react":500}],273:[function(require,module,exports){
"use strict";
exports.__esModule = true;
@@ -19076,7 +18873,7 @@ function createUncontrollable(mixins, set) {
}
module.exports = exports['default'];
-},{"./utils":277,"react":499}],276:[function(require,module,exports){
+},{"./utils":277,"react":500}],276:[function(require,module,exports){
'use strict';
exports.__esModule = true;
@@ -19222,7 +19019,7 @@ function has(o, k) {
return o ? Object.prototype.hasOwnProperty.call(o, k) : false;
}
}).call(this,require('_process'))
-},{"_process":32,"invariant":180,"react":499}],278:[function(require,module,exports){
+},{"_process":32,"invariant":180,"react":500}],278:[function(require,module,exports){
(function (process){
/**
* Copyright 2014-2015, Facebook, Inc.
@@ -19291,7 +19088,7 @@ module.exports = warning;
module.exports = require('react/lib/ReactDOM');
-},{"react/lib/ReactDOM":374}],280:[function(require,module,exports){
+},{"react/lib/ReactDOM":375}],280:[function(require,module,exports){
"use strict";
exports.__esModule = true;
@@ -19414,7 +19211,7 @@ var IndexLink = _react2['default'].createClass({
exports['default'] = IndexLink;
module.exports = exports['default'];
-},{"./Link":286,"react":499}],283:[function(require,module,exports){
+},{"./Link":286,"react":500}],283:[function(require,module,exports){
(function (process){
'use strict';
@@ -19481,7 +19278,7 @@ var IndexRedirect = _react2['default'].createClass({
exports['default'] = IndexRedirect;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./PropTypes":288,"./Redirect":289,"./warning":313,"_process":32,"invariant":336,"react":499}],284:[function(require,module,exports){
+},{"./PropTypes":288,"./Redirect":289,"./warning":313,"_process":32,"invariant":336,"react":500}],284:[function(require,module,exports){
(function (process){
'use strict';
@@ -19545,7 +19342,7 @@ var IndexRoute = _react2['default'].createClass({
exports['default'] = IndexRoute;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./PropTypes":288,"./RouteUtils":292,"./warning":313,"_process":32,"invariant":336,"react":499}],285:[function(require,module,exports){
+},{"./PropTypes":288,"./RouteUtils":292,"./warning":313,"_process":32,"invariant":336,"react":500}],285:[function(require,module,exports){
(function (process){
'use strict';
@@ -19617,7 +19414,7 @@ var Lifecycle = {
exports['default'] = Lifecycle;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./warning":313,"_process":32,"invariant":336,"react":499}],286:[function(require,module,exports){
+},{"./warning":313,"_process":32,"invariant":336,"react":500}],286:[function(require,module,exports){
(function (process){
'use strict';
@@ -19786,7 +19583,7 @@ var Link = _react2['default'].createClass({
exports['default'] = Link;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./warning":313,"_process":32,"react":499}],287:[function(require,module,exports){
+},{"./warning":313,"_process":32,"react":500}],287:[function(require,module,exports){
(function (process){
'use strict';
@@ -20070,7 +19867,7 @@ exports['default'] = {
components: components,
route: route
};
-},{"react":499}],289:[function(require,module,exports){
+},{"react":500}],289:[function(require,module,exports){
(function (process){
'use strict';
@@ -20176,7 +19973,7 @@ var Redirect = _react2['default'].createClass({
exports['default'] = Redirect;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./PatternUtils":287,"./PropTypes":288,"./RouteUtils":292,"_process":32,"invariant":336,"react":499}],290:[function(require,module,exports){
+},{"./PatternUtils":287,"./PropTypes":288,"./RouteUtils":292,"_process":32,"invariant":336,"react":500}],290:[function(require,module,exports){
(function (process){
'use strict';
@@ -20235,7 +20032,7 @@ var Route = _react2['default'].createClass({
exports['default'] = Route;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./PropTypes":288,"./RouteUtils":292,"_process":32,"invariant":336,"react":499}],291:[function(require,module,exports){
+},{"./PropTypes":288,"./RouteUtils":292,"_process":32,"invariant":336,"react":500}],291:[function(require,module,exports){
(function (process){
'use strict';
@@ -20284,7 +20081,7 @@ var RouteContext = {
exports['default'] = RouteContext;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./warning":313,"_process":32,"react":499}],292:[function(require,module,exports){
+},{"./warning":313,"_process":32,"react":500}],292:[function(require,module,exports){
(function (process){
'use strict';
@@ -20401,7 +20198,7 @@ function createRoutes(routes) {
return routes;
}
}).call(this,require('_process'))
-},{"./warning":313,"_process":32,"react":499}],293:[function(require,module,exports){
+},{"./warning":313,"_process":32,"react":500}],293:[function(require,module,exports){
(function (process){
'use strict';
@@ -20594,7 +20391,7 @@ var Router = _react2['default'].createClass({
exports['default'] = Router;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./PropTypes":288,"./RouteUtils":292,"./RouterContext":294,"./RouterUtils":295,"./createTransitionManager":302,"./warning":313,"_process":32,"history/lib/createHashHistory":321,"history/lib/useQueries":330,"react":499}],294:[function(require,module,exports){
+},{"./PropTypes":288,"./RouteUtils":292,"./RouterContext":294,"./RouterUtils":295,"./createTransitionManager":302,"./warning":313,"_process":32,"history/lib/createHashHistory":321,"history/lib/useQueries":330,"react":500}],294:[function(require,module,exports){
(function (process){
'use strict';
@@ -20751,7 +20548,7 @@ var RouterContext = _react2['default'].createClass({
exports['default'] = RouterContext;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./RouteUtils":292,"./deprecateObjectProperties":303,"./getRouteParams":305,"./warning":313,"_process":32,"invariant":336,"react":499}],295:[function(require,module,exports){
+},{"./RouteUtils":292,"./deprecateObjectProperties":303,"./getRouteParams":305,"./warning":313,"_process":32,"invariant":336,"react":500}],295:[function(require,module,exports){
(function (process){
'use strict';
@@ -20822,7 +20619,7 @@ var RoutingContext = _react2['default'].createClass({
exports['default'] = RoutingContext;
module.exports = exports['default'];
}).call(this,require('_process'))
-},{"./RouterContext":294,"./warning":313,"_process":32,"react":499}],297:[function(require,module,exports){
+},{"./RouterContext":294,"./warning":313,"_process":32,"react":500}],297:[function(require,module,exports){
(function (process){
'use strict';
@@ -23937,6 +23734,357 @@ arguments[4][180][0].apply(exports,arguments)
},{"_process":32,"dup":180}],337:[function(require,module,exports){
arguments[4][278][0].apply(exports,arguments)
},{"_process":32,"dup":278}],338:[function(require,module,exports){
+/**
+ * Module dependencies
+ */
+
+var React = require('react')
+var ReactDOM = require('react-dom')
+var classNames = require('classnames')
+var escapeHTML = require('escape-html')
+var isServer = typeof window === 'undefined'
+
+if (!isServer) {
+ var selectionRange = require('selection-range')
+}
+
+var noop = function(){}
+
+/**
+ * Make a contenteditable element
+ */
+
+var ContentEditable = React.createClass({
+
+ propTypes: {
+ editing: React.PropTypes.bool,
+ html: React.PropTypes.string,
+ onChange: React.PropTypes.func.isRequired,
+ placeholder: React.PropTypes.bool,
+ placeholderText: React.PropTypes.string,
+ tagName: React.PropTypes.string,
+ onEnterKey: React.PropTypes.func,
+ onEscapeKey: React.PropTypes.func,
+ preventStyling: React.PropTypes.bool,
+ noLinebreaks: React.PropTypes.bool,
+ onBlur: React.PropTypes.func,
+ onFocus: React.PropTypes.func,
+ onBold: React.PropTypes.func,
+ onItalic: React.PropTypes.func,
+ onKeyDown: React.PropTypes.func,
+ onKeyPress: React.PropTypes.func,
+ placeholderStyle: React.PropTypes.object
+ },
+
+ getDefaultProps: function() {
+ return {
+ html: '',
+ placeholder: false,
+ placeholderText: '',
+ onBold: noop,
+ onItalic: noop,
+ onKeyDown: noop,
+ onKeyPress: noop
+ };
+ },
+
+ getInitialState: function(){
+ return {};
+ },
+
+ shouldComponentUpdate: function(nextProps) {
+ var el = ReactDOM.findDOMNode(this)
+ if (nextProps.html !== el.innerHTML) {
+ if (nextProps.html && document.activeElement === el) {
+ this._range = selectionRange(el)
+ }
+ return true
+ }
+
+ if (nextProps.placeholder !== this.props.placeholder) {
+ return true
+ }
+
+ if (nextProps.editing !== this.props.editing) {
+ return true
+ }
+
+ return false
+ },
+
+ componentWillReceiveProps: function (nextProps) {
+ if (!this.props.editing && nextProps.editing) {
+ if (this.contentIsEmpty(nextProps.html)) {
+ this.props.onChange('', true)
+ }
+ }
+ },
+
+ componentDidUpdate: function() {
+ if (!this.props.editing && !this.props.html) {
+ this.props.onChange('')
+ }
+
+ if (this._range) {
+ selectionRange(ReactDOM.findDOMNode(this), this._range)
+ delete this._range
+ }
+ },
+
+ autofocus: function(){
+ ReactDOM.findDOMNode(this).focus();
+ },
+
+ render: function() {
+
+ // todo: use destructuring
+ var editing = this.props.editing;
+ var className = this.props.className;
+ var tagName = this.props.tagName;
+
+ // setup our classes
+ var classes = {
+ ContentEditable: true
+ };
+
+ var placeholderStyle = this.props.placeholderStyle || {
+ color: '#bbbbbb'
+ }
+
+ if (className) {
+ classes[className] = true;
+ }
+
+ // set 'div' as our default tagname
+ tagName = tagName || 'div';
+
+ var content = this.props.html;
+
+ // return our newly created element
+ return React.createElement(tagName, {
+ tabIndex: 0,
+ key: '0',
+ className: classNames(classes),
+ contentEditable: editing,
+ onBlur: this.onBlur,
+ onFocus: this.onFocus,
+ onKeyDown: this.onKeyDown,
+ onPaste: this.onPaste,
+ onMouseDown: this.onMouseDown,
+ 'aria-label': this.props.placeholderText,
+ onTouchStart: this.onMouseDown,
+ style: this.props.placeholder ? placeholderStyle : this.props.style || {},
+ onKeyPress: this.onKeyPress,
+ onInput: this.onInput,
+ onKeyUp: this.onKeyUp,
+ dangerouslySetInnerHTML: {
+ __html : this.props.placeholder ? this.props.placeholderText : content
+ }
+ });
+ },
+
+ unsetPlaceholder: function(){
+ this.props.onChange('', false, '')
+ },
+
+ setCursorToStart: function(){
+ ReactDOM.findDOMNode(this).focus();
+ var sel = window.getSelection();
+ var range = document.createRange();
+ range.setStart(ReactDOM.findDOMNode(this), 0);
+ range.collapse(true);
+ sel.removeAllRanges();
+ sel.addRange(range);
+ },
+
+ contentIsEmpty: function (content) {
+
+ if (this.state.placeholder) {
+ return true
+ }
+
+ if (!content) {
+ return true
+ }
+
+ if (content === '
') {
+ return true
+ }
+
+ if (!content.trim().length) {
+ return true
+ }
+
+ return false
+ },
+
+
+ onMouseDown: function(e) {
+ // prevent cursor placement if placeholder is set
+ if (this.contentIsEmpty(this.props.html)) {
+ this.setCursorToStart()
+ e.preventDefault()
+ }
+ },
+
+ onKeyDown: function(e) {
+ var self = this
+ this.props.onKeyDown(e)
+
+ function prev () {
+ e.preventDefault();
+ e.stopPropagation();
+ self.stop = true
+ }
+
+ var key = e.keyCode;
+
+ // bold & italic styling
+ if (e.metaKey) {
+
+ // bold
+ if (key === 66) {
+ this.props.onBold(e)
+ if (this.props.preventStyling) {
+ return prev()
+ }
+
+ // italic
+ } else if (key === 73) {
+ this.props.onItalic(e)
+ if (this.props.preventStyling) {
+ return prev()
+ }
+ //paste
+ } else if (key === 86) {
+ return;
+ }
+ }
+
+ // prevent linebreaks
+ if (this.props.noLinebreaks && (key === 13)) {
+ return prev()
+ }
+
+ // placeholder behaviour
+ if (this.contentIsEmpty(this.props.html)) { // If no text
+
+ if (e.metaKey || (e.shiftKey && (key === 16))) {
+ return prev()
+ }
+
+ switch (key) {
+ case 46: // 'Delete' key
+ case 8: // 'Backspace' key
+ case 9: // 'Tab' key
+ case 39: // 'Arrow right' key
+ case 37: // 'Arrow left' key
+ case 40: // 'Arrow left' key
+ case 38: // 'Arrow left' key
+ prev();
+ break;
+
+ case 13:
+ // 'Enter' key
+ prev();
+ if (this.props.onEnterKey) {
+ this.props.onEnterKey();
+ }
+ break;
+
+ case 27:
+ // 'Escape' key
+ prev();
+ if (this.props.onEscapeKey) {
+ this.props.onEscapeKey();
+ }
+ break;
+
+ default:
+ this.unsetPlaceholder();
+ break;
+ }
+ }
+ },
+
+ _replaceCurrentSelection: function(data) {
+ var selection = window.getSelection();
+ var range = selection.getRangeAt(0);
+ range.deleteContents();
+ var fragment = range.createContextualFragment('');
+ fragment.textContent = data;
+ var replacementEnd = fragment.lastChild;
+ range.insertNode(fragment);
+ // Set cursor at the end of the replaced content, just like browsers do.
+ range.setStartAfter(replacementEnd);
+ range.collapse(true);
+ selection.removeAllRanges();
+ selection.addRange(range);
+ },
+
+ onPaste: function(e){
+ // handle paste manually to ensure we unset our placeholder
+ e.preventDefault();
+ var data = e.clipboardData.getData('text/plain')
+ this._replaceCurrentSelection(data);
+ var target = ReactDOM.findDOMNode(this)
+ this.props.onChange(target.textContent, false, target.innerHTML)
+ },
+
+ onKeyPress: function(e){
+ this.props.onKeyPress(e)
+ },
+
+ onKeyUp: function(e) {
+ if (this._supportsInput) return
+ if (this.stop) {
+ this.stop = false
+ return
+ }
+
+ var target = ReactDOM.findDOMNode(this)
+ var self = this
+
+ if (!target.textContent.trim().length) {
+ this.props.onChange('', true, '')
+ setTimeout(function(){
+ self.setCursorToStart()
+ }, 1)
+ } else {
+ this.props.onChange(target.textContent, false, target.innerHTML)
+ }
+
+ },
+
+ onInput: function(e) {
+ this._supportsInput = true
+ var val = e.target.innerHTML
+ var text = e.target.textContent.trim()
+ if (!text) {
+ this.props.onChange('', true, '')
+ return
+ }
+
+ this.props.onChange(escapeHTML(e.target.textContent), false, e.target.innerHTML)
+ },
+
+ onBlur: function(e) {
+ if (this.props.onBlur) {
+ this.props.onBlur(e);
+ }
+ },
+
+ onFocus: function(e) {
+ if (this.props.onFocus) {
+ this.props.onFocus(e);
+ }
+ }
+
+});
+
+module.exports = ContentEditable;
+
+},{"classnames":33,"escape-html":34,"react":500,"react-dom":279,"selection-range":501}],339:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -23973,7 +24121,7 @@ var AutoFocusUtils = {
};
module.exports = AutoFocusUtils;
-},{"./ReactMount":404,"./findDOMNode":450,"fbjs/lib/focusNode":481}],339:[function(require,module,exports){
+},{"./ReactMount":405,"./findDOMNode":451,"fbjs/lib/focusNode":482}],340:[function(require,module,exports){
/**
* Copyright 2013-2015 Facebook, Inc.
* All rights reserved.
@@ -24379,7 +24527,7 @@ var BeforeInputEventPlugin = {
};
module.exports = BeforeInputEventPlugin;
-},{"./EventConstants":351,"./EventPropagators":355,"./FallbackCompositionState":356,"./SyntheticCompositionEvent":432,"./SyntheticInputEvent":436,"fbjs/lib/ExecutionEnvironment":473,"fbjs/lib/keyOf":491}],340:[function(require,module,exports){
+},{"./EventConstants":352,"./EventPropagators":356,"./FallbackCompositionState":357,"./SyntheticCompositionEvent":433,"./SyntheticInputEvent":437,"fbjs/lib/ExecutionEnvironment":474,"fbjs/lib/keyOf":492}],341:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -24519,7 +24667,7 @@ var CSSProperty = {
};
module.exports = CSSProperty;
-},{}],341:[function(require,module,exports){
+},{}],342:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -24697,7 +24845,7 @@ ReactPerf.measureMethods(CSSPropertyOperations, 'CSSPropertyOperations', {
module.exports = CSSPropertyOperations;
}).call(this,require('_process'))
-},{"./CSSProperty":340,"./ReactPerf":410,"./dangerousStyleValue":447,"_process":32,"fbjs/lib/ExecutionEnvironment":473,"fbjs/lib/camelizeStyleName":475,"fbjs/lib/hyphenateStyleName":486,"fbjs/lib/memoizeStringOnly":493,"fbjs/lib/warning":498}],342:[function(require,module,exports){
+},{"./CSSProperty":341,"./ReactPerf":411,"./dangerousStyleValue":448,"_process":32,"fbjs/lib/ExecutionEnvironment":474,"fbjs/lib/camelizeStyleName":476,"fbjs/lib/hyphenateStyleName":487,"fbjs/lib/memoizeStringOnly":494,"fbjs/lib/warning":499}],343:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -24793,7 +24941,7 @@ PooledClass.addPoolingTo(CallbackQueue);
module.exports = CallbackQueue;
}).call(this,require('_process'))
-},{"./Object.assign":359,"./PooledClass":360,"_process":32,"fbjs/lib/invariant":487}],343:[function(require,module,exports){
+},{"./Object.assign":360,"./PooledClass":361,"_process":32,"fbjs/lib/invariant":488}],344:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -25115,7 +25263,7 @@ var ChangeEventPlugin = {
};
module.exports = ChangeEventPlugin;
-},{"./EventConstants":351,"./EventPluginHub":352,"./EventPropagators":355,"./ReactUpdates":425,"./SyntheticEvent":434,"./getEventTarget":456,"./isEventSupported":461,"./isTextInputElement":462,"fbjs/lib/ExecutionEnvironment":473,"fbjs/lib/keyOf":491}],344:[function(require,module,exports){
+},{"./EventConstants":352,"./EventPluginHub":353,"./EventPropagators":356,"./ReactUpdates":426,"./SyntheticEvent":435,"./getEventTarget":457,"./isEventSupported":462,"./isTextInputElement":463,"fbjs/lib/ExecutionEnvironment":474,"fbjs/lib/keyOf":492}],345:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -25139,7 +25287,7 @@ var ClientReactRootIndex = {
};
module.exports = ClientReactRootIndex;
-},{}],345:[function(require,module,exports){
+},{}],346:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -25271,7 +25419,7 @@ ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', {
module.exports = DOMChildrenOperations;
}).call(this,require('_process'))
-},{"./Danger":348,"./ReactMultiChildUpdateTypes":406,"./ReactPerf":410,"./setInnerHTML":466,"./setTextContent":467,"_process":32,"fbjs/lib/invariant":487}],346:[function(require,module,exports){
+},{"./Danger":349,"./ReactMultiChildUpdateTypes":407,"./ReactPerf":411,"./setInnerHTML":467,"./setTextContent":468,"_process":32,"fbjs/lib/invariant":488}],347:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -25508,7 +25656,7 @@ var DOMProperty = {
module.exports = DOMProperty;
}).call(this,require('_process'))
-},{"_process":32,"fbjs/lib/invariant":487}],347:[function(require,module,exports){
+},{"_process":32,"fbjs/lib/invariant":488}],348:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -25736,7 +25884,7 @@ ReactPerf.measureMethods(DOMPropertyOperations, 'DOMPropertyOperations', {
module.exports = DOMPropertyOperations;
}).call(this,require('_process'))
-},{"./DOMProperty":346,"./ReactPerf":410,"./quoteAttributeValueForBrowser":464,"_process":32,"fbjs/lib/warning":498}],348:[function(require,module,exports){
+},{"./DOMProperty":347,"./ReactPerf":411,"./quoteAttributeValueForBrowser":465,"_process":32,"fbjs/lib/warning":499}],349:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -25884,7 +26032,7 @@ var Danger = {
module.exports = Danger;
}).call(this,require('_process'))
-},{"_process":32,"fbjs/lib/ExecutionEnvironment":473,"fbjs/lib/createNodesFromMarkup":478,"fbjs/lib/emptyFunction":479,"fbjs/lib/getMarkupWrap":483,"fbjs/lib/invariant":487}],349:[function(require,module,exports){
+},{"_process":32,"fbjs/lib/ExecutionEnvironment":474,"fbjs/lib/createNodesFromMarkup":479,"fbjs/lib/emptyFunction":480,"fbjs/lib/getMarkupWrap":484,"fbjs/lib/invariant":488}],350:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -25912,7 +26060,7 @@ var keyOf = require('fbjs/lib/keyOf');
var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })];
module.exports = DefaultEventPluginOrder;
-},{"fbjs/lib/keyOf":491}],350:[function(require,module,exports){
+},{"fbjs/lib/keyOf":492}],351:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -26037,7 +26185,7 @@ var EnterLeaveEventPlugin = {
};
module.exports = EnterLeaveEventPlugin;
-},{"./EventConstants":351,"./EventPropagators":355,"./ReactMount":404,"./SyntheticMouseEvent":438,"fbjs/lib/keyOf":491}],351:[function(require,module,exports){
+},{"./EventConstants":352,"./EventPropagators":356,"./ReactMount":405,"./SyntheticMouseEvent":439,"fbjs/lib/keyOf":492}],352:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -26130,7 +26278,7 @@ var EventConstants = {
};
module.exports = EventConstants;
-},{"fbjs/lib/keyMirror":490}],352:[function(require,module,exports){
+},{"fbjs/lib/keyMirror":491}],353:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -26412,7 +26560,7 @@ var EventPluginHub = {
module.exports = EventPluginHub;
}).call(this,require('_process'))
-},{"./EventPluginRegistry":353,"./EventPluginUtils":354,"./ReactErrorUtils":395,"./accumulateInto":444,"./forEachAccumulated":452,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],353:[function(require,module,exports){
+},{"./EventPluginRegistry":354,"./EventPluginUtils":355,"./ReactErrorUtils":396,"./accumulateInto":445,"./forEachAccumulated":453,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],354:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -26635,7 +26783,7 @@ var EventPluginRegistry = {
module.exports = EventPluginRegistry;
}).call(this,require('_process'))
-},{"_process":32,"fbjs/lib/invariant":487}],354:[function(require,module,exports){
+},{"_process":32,"fbjs/lib/invariant":488}],355:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -26840,7 +26988,7 @@ var EventPluginUtils = {
module.exports = EventPluginUtils;
}).call(this,require('_process'))
-},{"./EventConstants":351,"./ReactErrorUtils":395,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],355:[function(require,module,exports){
+},{"./EventConstants":352,"./ReactErrorUtils":396,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],356:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -26978,7 +27126,7 @@ var EventPropagators = {
module.exports = EventPropagators;
}).call(this,require('_process'))
-},{"./EventConstants":351,"./EventPluginHub":352,"./accumulateInto":444,"./forEachAccumulated":452,"_process":32,"fbjs/lib/warning":498}],356:[function(require,module,exports){
+},{"./EventConstants":352,"./EventPluginHub":353,"./accumulateInto":445,"./forEachAccumulated":453,"_process":32,"fbjs/lib/warning":499}],357:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -27074,7 +27222,7 @@ assign(FallbackCompositionState.prototype, {
PooledClass.addPoolingTo(FallbackCompositionState);
module.exports = FallbackCompositionState;
-},{"./Object.assign":359,"./PooledClass":360,"./getTextContentAccessor":459}],357:[function(require,module,exports){
+},{"./Object.assign":360,"./PooledClass":361,"./getTextContentAccessor":460}],358:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -27305,7 +27453,7 @@ var HTMLDOMPropertyConfig = {
};
module.exports = HTMLDOMPropertyConfig;
-},{"./DOMProperty":346,"fbjs/lib/ExecutionEnvironment":473}],358:[function(require,module,exports){
+},{"./DOMProperty":347,"fbjs/lib/ExecutionEnvironment":474}],359:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -27442,7 +27590,7 @@ var LinkedValueUtils = {
module.exports = LinkedValueUtils;
}).call(this,require('_process'))
-},{"./ReactPropTypeLocations":412,"./ReactPropTypes":413,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],359:[function(require,module,exports){
+},{"./ReactPropTypeLocations":413,"./ReactPropTypes":414,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],360:[function(require,module,exports){
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
@@ -27490,7 +27638,7 @@ function assign(target, sources) {
}
module.exports = assign;
-},{}],360:[function(require,module,exports){
+},{}],361:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -27612,7 +27760,7 @@ var PooledClass = {
module.exports = PooledClass;
}).call(this,require('_process'))
-},{"_process":32,"fbjs/lib/invariant":487}],361:[function(require,module,exports){
+},{"_process":32,"fbjs/lib/invariant":488}],362:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -27653,7 +27801,7 @@ React.__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOM;
React.__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOMServer;
module.exports = React;
-},{"./Object.assign":359,"./ReactDOM":374,"./ReactDOMServer":384,"./ReactIsomorphic":402,"./deprecated":448}],362:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactDOM":375,"./ReactDOMServer":385,"./ReactIsomorphic":403,"./deprecated":449}],363:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -27692,7 +27840,7 @@ var ReactBrowserComponentMixin = {
module.exports = ReactBrowserComponentMixin;
}).call(this,require('_process'))
-},{"./ReactInstanceMap":401,"./findDOMNode":450,"_process":32,"fbjs/lib/warning":498}],363:[function(require,module,exports){
+},{"./ReactInstanceMap":402,"./findDOMNode":451,"_process":32,"fbjs/lib/warning":499}],364:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -28017,7 +28165,7 @@ ReactPerf.measureMethods(ReactBrowserEventEmitter, 'ReactBrowserEventEmitter', {
});
module.exports = ReactBrowserEventEmitter;
-},{"./EventConstants":351,"./EventPluginHub":352,"./EventPluginRegistry":353,"./Object.assign":359,"./ReactEventEmitterMixin":396,"./ReactPerf":410,"./ViewportMetrics":443,"./isEventSupported":461}],364:[function(require,module,exports){
+},{"./EventConstants":352,"./EventPluginHub":353,"./EventPluginRegistry":354,"./Object.assign":360,"./ReactEventEmitterMixin":397,"./ReactPerf":411,"./ViewportMetrics":444,"./isEventSupported":462}],365:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -28101,7 +28249,7 @@ var ReactCSSTransitionGroup = React.createClass({
});
module.exports = ReactCSSTransitionGroup;
-},{"./Object.assign":359,"./React":361,"./ReactCSSTransitionGroupChild":365,"./ReactTransitionGroup":423}],365:[function(require,module,exports){
+},{"./Object.assign":360,"./React":362,"./ReactCSSTransitionGroupChild":366,"./ReactTransitionGroup":424}],366:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -28267,7 +28415,7 @@ var ReactCSSTransitionGroupChild = React.createClass({
});
module.exports = ReactCSSTransitionGroupChild;
-},{"./React":361,"./ReactDOM":374,"./ReactTransitionEvents":422,"./onlyChild":463,"fbjs/lib/CSSCore":471}],366:[function(require,module,exports){
+},{"./React":362,"./ReactDOM":375,"./ReactTransitionEvents":423,"./onlyChild":464,"fbjs/lib/CSSCore":472}],367:[function(require,module,exports){
(function (process){
/**
* Copyright 2014-2015, Facebook, Inc.
@@ -28392,7 +28540,7 @@ var ReactChildReconciler = {
module.exports = ReactChildReconciler;
}).call(this,require('_process'))
-},{"./ReactReconciler":415,"./instantiateReactComponent":460,"./shouldUpdateReactComponent":468,"./traverseAllChildren":469,"_process":32,"fbjs/lib/warning":498}],367:[function(require,module,exports){
+},{"./ReactReconciler":416,"./instantiateReactComponent":461,"./shouldUpdateReactComponent":469,"./traverseAllChildren":470,"_process":32,"fbjs/lib/warning":499}],368:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -28575,7 +28723,7 @@ var ReactChildren = {
};
module.exports = ReactChildren;
-},{"./PooledClass":360,"./ReactElement":391,"./traverseAllChildren":469,"fbjs/lib/emptyFunction":479}],368:[function(require,module,exports){
+},{"./PooledClass":361,"./ReactElement":392,"./traverseAllChildren":470,"fbjs/lib/emptyFunction":480}],369:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -29349,7 +29497,7 @@ var ReactClass = {
module.exports = ReactClass;
}).call(this,require('_process'))
-},{"./Object.assign":359,"./ReactComponent":369,"./ReactElement":391,"./ReactNoopUpdateQueue":408,"./ReactPropTypeLocationNames":411,"./ReactPropTypeLocations":412,"_process":32,"fbjs/lib/emptyObject":480,"fbjs/lib/invariant":487,"fbjs/lib/keyMirror":490,"fbjs/lib/keyOf":491,"fbjs/lib/warning":498}],369:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactComponent":370,"./ReactElement":392,"./ReactNoopUpdateQueue":409,"./ReactPropTypeLocationNames":412,"./ReactPropTypeLocations":413,"_process":32,"fbjs/lib/emptyObject":481,"fbjs/lib/invariant":488,"fbjs/lib/keyMirror":491,"fbjs/lib/keyOf":492,"fbjs/lib/warning":499}],370:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -29474,7 +29622,7 @@ if (process.env.NODE_ENV !== 'production') {
module.exports = ReactComponent;
}).call(this,require('_process'))
-},{"./ReactNoopUpdateQueue":408,"./canDefineProperty":446,"_process":32,"fbjs/lib/emptyObject":480,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],370:[function(require,module,exports){
+},{"./ReactNoopUpdateQueue":409,"./canDefineProperty":447,"_process":32,"fbjs/lib/emptyObject":481,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],371:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -29516,7 +29664,7 @@ var ReactComponentBrowserEnvironment = {
};
module.exports = ReactComponentBrowserEnvironment;
-},{"./ReactDOMIDOperations":379,"./ReactMount":404}],371:[function(require,module,exports){
+},{"./ReactDOMIDOperations":380,"./ReactMount":405}],372:[function(require,module,exports){
(function (process){
/**
* Copyright 2014-2015, Facebook, Inc.
@@ -29570,7 +29718,7 @@ var ReactComponentEnvironment = {
module.exports = ReactComponentEnvironment;
}).call(this,require('_process'))
-},{"_process":32,"fbjs/lib/invariant":487}],372:[function(require,module,exports){
+},{"_process":32,"fbjs/lib/invariant":488}],373:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -30267,7 +30415,7 @@ var ReactCompositeComponent = {
module.exports = ReactCompositeComponent;
}).call(this,require('_process'))
-},{"./Object.assign":359,"./ReactComponentEnvironment":371,"./ReactCurrentOwner":373,"./ReactElement":391,"./ReactInstanceMap":401,"./ReactPerf":410,"./ReactPropTypeLocationNames":411,"./ReactPropTypeLocations":412,"./ReactReconciler":415,"./ReactUpdateQueue":424,"./shouldUpdateReactComponent":468,"_process":32,"fbjs/lib/emptyObject":480,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],373:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactComponentEnvironment":372,"./ReactCurrentOwner":374,"./ReactElement":392,"./ReactInstanceMap":402,"./ReactPerf":411,"./ReactPropTypeLocationNames":412,"./ReactPropTypeLocations":413,"./ReactReconciler":416,"./ReactUpdateQueue":425,"./shouldUpdateReactComponent":469,"_process":32,"fbjs/lib/emptyObject":481,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],374:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -30298,7 +30446,7 @@ var ReactCurrentOwner = {
};
module.exports = ReactCurrentOwner;
-},{}],374:[function(require,module,exports){
+},{}],375:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -30393,7 +30541,7 @@ if (process.env.NODE_ENV !== 'production') {
module.exports = React;
}).call(this,require('_process'))
-},{"./ReactCurrentOwner":373,"./ReactDOMTextComponent":385,"./ReactDefaultInjection":388,"./ReactInstanceHandles":400,"./ReactMount":404,"./ReactPerf":410,"./ReactReconciler":415,"./ReactUpdates":425,"./ReactVersion":426,"./findDOMNode":450,"./renderSubtreeIntoContainer":465,"_process":32,"fbjs/lib/ExecutionEnvironment":473,"fbjs/lib/warning":498}],375:[function(require,module,exports){
+},{"./ReactCurrentOwner":374,"./ReactDOMTextComponent":386,"./ReactDefaultInjection":389,"./ReactInstanceHandles":401,"./ReactMount":405,"./ReactPerf":411,"./ReactReconciler":416,"./ReactUpdates":426,"./ReactVersion":427,"./findDOMNode":451,"./renderSubtreeIntoContainer":466,"_process":32,"fbjs/lib/ExecutionEnvironment":474,"fbjs/lib/warning":499}],376:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -30444,7 +30592,7 @@ var ReactDOMButton = {
};
module.exports = ReactDOMButton;
-},{}],376:[function(require,module,exports){
+},{}],377:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -31409,7 +31557,7 @@ assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mix
module.exports = ReactDOMComponent;
}).call(this,require('_process'))
-},{"./AutoFocusUtils":338,"./CSSPropertyOperations":341,"./DOMProperty":346,"./DOMPropertyOperations":347,"./EventConstants":351,"./Object.assign":359,"./ReactBrowserEventEmitter":363,"./ReactComponentBrowserEnvironment":370,"./ReactDOMButton":375,"./ReactDOMInput":380,"./ReactDOMOption":381,"./ReactDOMSelect":382,"./ReactDOMTextarea":386,"./ReactMount":404,"./ReactMultiChild":405,"./ReactPerf":410,"./ReactUpdateQueue":424,"./canDefineProperty":446,"./escapeTextContentForBrowser":449,"./isEventSupported":461,"./setInnerHTML":466,"./setTextContent":467,"./validateDOMNesting":470,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/keyOf":491,"fbjs/lib/shallowEqual":496,"fbjs/lib/warning":498}],377:[function(require,module,exports){
+},{"./AutoFocusUtils":339,"./CSSPropertyOperations":342,"./DOMProperty":347,"./DOMPropertyOperations":348,"./EventConstants":352,"./Object.assign":360,"./ReactBrowserEventEmitter":364,"./ReactComponentBrowserEnvironment":371,"./ReactDOMButton":376,"./ReactDOMInput":381,"./ReactDOMOption":382,"./ReactDOMSelect":383,"./ReactDOMTextarea":387,"./ReactMount":405,"./ReactMultiChild":406,"./ReactPerf":411,"./ReactUpdateQueue":425,"./canDefineProperty":447,"./escapeTextContentForBrowser":450,"./isEventSupported":462,"./setInnerHTML":467,"./setTextContent":468,"./validateDOMNesting":471,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/keyOf":492,"fbjs/lib/shallowEqual":497,"fbjs/lib/warning":499}],378:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -31589,7 +31737,7 @@ var ReactDOMFactories = mapObject({
module.exports = ReactDOMFactories;
}).call(this,require('_process'))
-},{"./ReactElement":391,"./ReactElementValidator":392,"_process":32,"fbjs/lib/mapObject":492}],378:[function(require,module,exports){
+},{"./ReactElement":392,"./ReactElementValidator":393,"_process":32,"fbjs/lib/mapObject":493}],379:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -31608,7 +31756,7 @@ var ReactDOMFeatureFlags = {
};
module.exports = ReactDOMFeatureFlags;
-},{}],379:[function(require,module,exports){
+},{}],380:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -31705,7 +31853,7 @@ ReactPerf.measureMethods(ReactDOMIDOperations, 'ReactDOMIDOperations', {
module.exports = ReactDOMIDOperations;
}).call(this,require('_process'))
-},{"./DOMChildrenOperations":345,"./DOMPropertyOperations":347,"./ReactMount":404,"./ReactPerf":410,"_process":32,"fbjs/lib/invariant":487}],380:[function(require,module,exports){
+},{"./DOMChildrenOperations":346,"./DOMPropertyOperations":348,"./ReactMount":405,"./ReactPerf":411,"_process":32,"fbjs/lib/invariant":488}],381:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -31861,7 +32009,7 @@ function _handleChange(event) {
module.exports = ReactDOMInput;
}).call(this,require('_process'))
-},{"./LinkedValueUtils":358,"./Object.assign":359,"./ReactDOMIDOperations":379,"./ReactMount":404,"./ReactUpdates":425,"_process":32,"fbjs/lib/invariant":487}],381:[function(require,module,exports){
+},{"./LinkedValueUtils":359,"./Object.assign":360,"./ReactDOMIDOperations":380,"./ReactMount":405,"./ReactUpdates":426,"_process":32,"fbjs/lib/invariant":488}],382:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -31950,7 +32098,7 @@ var ReactDOMOption = {
module.exports = ReactDOMOption;
}).call(this,require('_process'))
-},{"./Object.assign":359,"./ReactChildren":367,"./ReactDOMSelect":382,"_process":32,"fbjs/lib/warning":498}],382:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactChildren":368,"./ReactDOMSelect":383,"_process":32,"fbjs/lib/warning":499}],383:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -32141,7 +32289,7 @@ function _handleChange(event) {
module.exports = ReactDOMSelect;
}).call(this,require('_process'))
-},{"./LinkedValueUtils":358,"./Object.assign":359,"./ReactMount":404,"./ReactUpdates":425,"_process":32,"fbjs/lib/warning":498}],383:[function(require,module,exports){
+},{"./LinkedValueUtils":359,"./Object.assign":360,"./ReactMount":405,"./ReactUpdates":426,"_process":32,"fbjs/lib/warning":499}],384:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -32354,7 +32502,7 @@ var ReactDOMSelection = {
};
module.exports = ReactDOMSelection;
-},{"./getNodeForCharacterOffset":458,"./getTextContentAccessor":459,"fbjs/lib/ExecutionEnvironment":473}],384:[function(require,module,exports){
+},{"./getNodeForCharacterOffset":459,"./getTextContentAccessor":460,"fbjs/lib/ExecutionEnvironment":474}],385:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -32381,7 +32529,7 @@ var ReactDOMServer = {
};
module.exports = ReactDOMServer;
-},{"./ReactDefaultInjection":388,"./ReactServerRendering":419,"./ReactVersion":426}],385:[function(require,module,exports){
+},{"./ReactDefaultInjection":389,"./ReactServerRendering":420,"./ReactVersion":427}],386:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -32511,7 +32659,7 @@ assign(ReactDOMTextComponent.prototype, {
module.exports = ReactDOMTextComponent;
}).call(this,require('_process'))
-},{"./DOMChildrenOperations":345,"./DOMPropertyOperations":347,"./Object.assign":359,"./ReactComponentBrowserEnvironment":370,"./ReactMount":404,"./escapeTextContentForBrowser":449,"./setTextContent":467,"./validateDOMNesting":470,"_process":32}],386:[function(require,module,exports){
+},{"./DOMChildrenOperations":346,"./DOMPropertyOperations":348,"./Object.assign":360,"./ReactComponentBrowserEnvironment":371,"./ReactMount":405,"./escapeTextContentForBrowser":450,"./setTextContent":468,"./validateDOMNesting":471,"_process":32}],387:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -32627,7 +32775,7 @@ function _handleChange(event) {
module.exports = ReactDOMTextarea;
}).call(this,require('_process'))
-},{"./LinkedValueUtils":358,"./Object.assign":359,"./ReactDOMIDOperations":379,"./ReactUpdates":425,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],387:[function(require,module,exports){
+},{"./LinkedValueUtils":359,"./Object.assign":360,"./ReactDOMIDOperations":380,"./ReactUpdates":426,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],388:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -32695,7 +32843,7 @@ var ReactDefaultBatchingStrategy = {
};
module.exports = ReactDefaultBatchingStrategy;
-},{"./Object.assign":359,"./ReactUpdates":425,"./Transaction":442,"fbjs/lib/emptyFunction":479}],388:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactUpdates":426,"./Transaction":443,"fbjs/lib/emptyFunction":480}],389:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -32795,7 +32943,7 @@ module.exports = {
inject: inject
};
}).call(this,require('_process'))
-},{"./BeforeInputEventPlugin":339,"./ChangeEventPlugin":343,"./ClientReactRootIndex":344,"./DefaultEventPluginOrder":349,"./EnterLeaveEventPlugin":350,"./HTMLDOMPropertyConfig":357,"./ReactBrowserComponentMixin":362,"./ReactComponentBrowserEnvironment":370,"./ReactDOMComponent":376,"./ReactDOMTextComponent":385,"./ReactDefaultBatchingStrategy":387,"./ReactDefaultPerf":389,"./ReactEventListener":397,"./ReactInjection":398,"./ReactInstanceHandles":400,"./ReactMount":404,"./ReactReconcileTransaction":414,"./SVGDOMPropertyConfig":427,"./SelectEventPlugin":428,"./ServerReactRootIndex":429,"./SimpleEventPlugin":430,"_process":32,"fbjs/lib/ExecutionEnvironment":473}],389:[function(require,module,exports){
+},{"./BeforeInputEventPlugin":340,"./ChangeEventPlugin":344,"./ClientReactRootIndex":345,"./DefaultEventPluginOrder":350,"./EnterLeaveEventPlugin":351,"./HTMLDOMPropertyConfig":358,"./ReactBrowserComponentMixin":363,"./ReactComponentBrowserEnvironment":371,"./ReactDOMComponent":377,"./ReactDOMTextComponent":386,"./ReactDefaultBatchingStrategy":388,"./ReactDefaultPerf":390,"./ReactEventListener":398,"./ReactInjection":399,"./ReactInstanceHandles":401,"./ReactMount":405,"./ReactReconcileTransaction":415,"./SVGDOMPropertyConfig":428,"./SelectEventPlugin":429,"./ServerReactRootIndex":430,"./SimpleEventPlugin":431,"_process":32,"fbjs/lib/ExecutionEnvironment":474}],390:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -33033,7 +33181,7 @@ var ReactDefaultPerf = {
};
module.exports = ReactDefaultPerf;
-},{"./DOMProperty":346,"./ReactDefaultPerfAnalysis":390,"./ReactMount":404,"./ReactPerf":410,"fbjs/lib/performanceNow":495}],390:[function(require,module,exports){
+},{"./DOMProperty":347,"./ReactDefaultPerfAnalysis":391,"./ReactMount":405,"./ReactPerf":411,"fbjs/lib/performanceNow":496}],391:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -33235,7 +33383,7 @@ var ReactDefaultPerfAnalysis = {
};
module.exports = ReactDefaultPerfAnalysis;
-},{"./Object.assign":359}],391:[function(require,module,exports){
+},{"./Object.assign":360}],392:[function(require,module,exports){
(function (process){
/**
* Copyright 2014-2015, Facebook, Inc.
@@ -33485,7 +33633,7 @@ ReactElement.isValidElement = function (object) {
module.exports = ReactElement;
}).call(this,require('_process'))
-},{"./Object.assign":359,"./ReactCurrentOwner":373,"./canDefineProperty":446,"_process":32}],392:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactCurrentOwner":374,"./canDefineProperty":447,"_process":32}],393:[function(require,module,exports){
(function (process){
/**
* Copyright 2014-2015, Facebook, Inc.
@@ -33769,7 +33917,7 @@ var ReactElementValidator = {
module.exports = ReactElementValidator;
}).call(this,require('_process'))
-},{"./ReactCurrentOwner":373,"./ReactElement":391,"./ReactPropTypeLocationNames":411,"./ReactPropTypeLocations":412,"./canDefineProperty":446,"./getIteratorFn":457,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],393:[function(require,module,exports){
+},{"./ReactCurrentOwner":374,"./ReactElement":392,"./ReactPropTypeLocationNames":412,"./ReactPropTypeLocations":413,"./canDefineProperty":447,"./getIteratorFn":458,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],394:[function(require,module,exports){
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
@@ -33821,7 +33969,7 @@ assign(ReactEmptyComponent.prototype, {
ReactEmptyComponent.injection = ReactEmptyComponentInjection;
module.exports = ReactEmptyComponent;
-},{"./Object.assign":359,"./ReactElement":391,"./ReactEmptyComponentRegistry":394,"./ReactReconciler":415}],394:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactElement":392,"./ReactEmptyComponentRegistry":395,"./ReactReconciler":416}],395:[function(require,module,exports){
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
@@ -33870,7 +34018,7 @@ var ReactEmptyComponentRegistry = {
};
module.exports = ReactEmptyComponentRegistry;
-},{}],395:[function(require,module,exports){
+},{}],396:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -33950,7 +34098,7 @@ if (process.env.NODE_ENV !== 'production') {
module.exports = ReactErrorUtils;
}).call(this,require('_process'))
-},{"_process":32}],396:[function(require,module,exports){
+},{"_process":32}],397:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -33989,7 +34137,7 @@ var ReactEventEmitterMixin = {
};
module.exports = ReactEventEmitterMixin;
-},{"./EventPluginHub":352}],397:[function(require,module,exports){
+},{"./EventPluginHub":353}],398:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -34201,7 +34349,7 @@ var ReactEventListener = {
};
module.exports = ReactEventListener;
-},{"./Object.assign":359,"./PooledClass":360,"./ReactInstanceHandles":400,"./ReactMount":404,"./ReactUpdates":425,"./getEventTarget":456,"fbjs/lib/EventListener":472,"fbjs/lib/ExecutionEnvironment":473,"fbjs/lib/getUnboundedScrollPosition":484}],398:[function(require,module,exports){
+},{"./Object.assign":360,"./PooledClass":361,"./ReactInstanceHandles":401,"./ReactMount":405,"./ReactUpdates":426,"./getEventTarget":457,"fbjs/lib/EventListener":473,"fbjs/lib/ExecutionEnvironment":474,"fbjs/lib/getUnboundedScrollPosition":485}],399:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -34240,7 +34388,7 @@ var ReactInjection = {
};
module.exports = ReactInjection;
-},{"./DOMProperty":346,"./EventPluginHub":352,"./ReactBrowserEventEmitter":363,"./ReactClass":368,"./ReactComponentEnvironment":371,"./ReactEmptyComponent":393,"./ReactNativeComponent":407,"./ReactPerf":410,"./ReactRootIndex":417,"./ReactUpdates":425}],399:[function(require,module,exports){
+},{"./DOMProperty":347,"./EventPluginHub":353,"./ReactBrowserEventEmitter":364,"./ReactClass":369,"./ReactComponentEnvironment":372,"./ReactEmptyComponent":394,"./ReactNativeComponent":408,"./ReactPerf":411,"./ReactRootIndex":418,"./ReactUpdates":426}],400:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -34365,7 +34513,7 @@ var ReactInputSelection = {
};
module.exports = ReactInputSelection;
-},{"./ReactDOMSelection":383,"fbjs/lib/containsNode":476,"fbjs/lib/focusNode":481,"fbjs/lib/getActiveElement":482}],400:[function(require,module,exports){
+},{"./ReactDOMSelection":384,"fbjs/lib/containsNode":477,"fbjs/lib/focusNode":482,"fbjs/lib/getActiveElement":483}],401:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -34670,7 +34818,7 @@ var ReactInstanceHandles = {
module.exports = ReactInstanceHandles;
}).call(this,require('_process'))
-},{"./ReactRootIndex":417,"_process":32,"fbjs/lib/invariant":487}],401:[function(require,module,exports){
+},{"./ReactRootIndex":418,"_process":32,"fbjs/lib/invariant":488}],402:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -34718,7 +34866,7 @@ var ReactInstanceMap = {
};
module.exports = ReactInstanceMap;
-},{}],402:[function(require,module,exports){
+},{}],403:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -34795,7 +34943,7 @@ var React = {
module.exports = React;
}).call(this,require('_process'))
-},{"./Object.assign":359,"./ReactChildren":367,"./ReactClass":368,"./ReactComponent":369,"./ReactDOMFactories":377,"./ReactElement":391,"./ReactElementValidator":392,"./ReactPropTypes":413,"./ReactVersion":426,"./onlyChild":463,"_process":32}],403:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactChildren":368,"./ReactClass":369,"./ReactComponent":370,"./ReactDOMFactories":378,"./ReactElement":392,"./ReactElementValidator":393,"./ReactPropTypes":414,"./ReactVersion":427,"./onlyChild":464,"_process":32}],404:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -34841,7 +34989,7 @@ var ReactMarkupChecksum = {
};
module.exports = ReactMarkupChecksum;
-},{"./adler32":445}],404:[function(require,module,exports){
+},{"./adler32":446}],405:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -35694,7 +35842,7 @@ ReactPerf.measureMethods(ReactMount, 'ReactMount', {
module.exports = ReactMount;
}).call(this,require('_process'))
-},{"./DOMProperty":346,"./Object.assign":359,"./ReactBrowserEventEmitter":363,"./ReactCurrentOwner":373,"./ReactDOMFeatureFlags":378,"./ReactElement":391,"./ReactEmptyComponentRegistry":394,"./ReactInstanceHandles":400,"./ReactInstanceMap":401,"./ReactMarkupChecksum":403,"./ReactPerf":410,"./ReactReconciler":415,"./ReactUpdateQueue":424,"./ReactUpdates":425,"./instantiateReactComponent":460,"./setInnerHTML":466,"./shouldUpdateReactComponent":468,"./validateDOMNesting":470,"_process":32,"fbjs/lib/containsNode":476,"fbjs/lib/emptyObject":480,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],405:[function(require,module,exports){
+},{"./DOMProperty":347,"./Object.assign":360,"./ReactBrowserEventEmitter":364,"./ReactCurrentOwner":374,"./ReactDOMFeatureFlags":379,"./ReactElement":392,"./ReactEmptyComponentRegistry":395,"./ReactInstanceHandles":401,"./ReactInstanceMap":402,"./ReactMarkupChecksum":404,"./ReactPerf":411,"./ReactReconciler":416,"./ReactUpdateQueue":425,"./ReactUpdates":426,"./instantiateReactComponent":461,"./setInnerHTML":467,"./shouldUpdateReactComponent":469,"./validateDOMNesting":471,"_process":32,"fbjs/lib/containsNode":477,"fbjs/lib/emptyObject":481,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],406:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -36193,7 +36341,7 @@ var ReactMultiChild = {
module.exports = ReactMultiChild;
}).call(this,require('_process'))
-},{"./ReactChildReconciler":366,"./ReactComponentEnvironment":371,"./ReactCurrentOwner":373,"./ReactMultiChildUpdateTypes":406,"./ReactReconciler":415,"./flattenChildren":451,"_process":32}],406:[function(require,module,exports){
+},{"./ReactChildReconciler":367,"./ReactComponentEnvironment":372,"./ReactCurrentOwner":374,"./ReactMultiChildUpdateTypes":407,"./ReactReconciler":416,"./flattenChildren":452,"_process":32}],407:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -36226,7 +36374,7 @@ var ReactMultiChildUpdateTypes = keyMirror({
});
module.exports = ReactMultiChildUpdateTypes;
-},{"fbjs/lib/keyMirror":490}],407:[function(require,module,exports){
+},{"fbjs/lib/keyMirror":491}],408:[function(require,module,exports){
(function (process){
/**
* Copyright 2014-2015, Facebook, Inc.
@@ -36323,7 +36471,7 @@ var ReactNativeComponent = {
module.exports = ReactNativeComponent;
}).call(this,require('_process'))
-},{"./Object.assign":359,"_process":32,"fbjs/lib/invariant":487}],408:[function(require,module,exports){
+},{"./Object.assign":360,"_process":32,"fbjs/lib/invariant":488}],409:[function(require,module,exports){
(function (process){
/**
* Copyright 2015, Facebook, Inc.
@@ -36444,7 +36592,7 @@ var ReactNoopUpdateQueue = {
module.exports = ReactNoopUpdateQueue;
}).call(this,require('_process'))
-},{"_process":32,"fbjs/lib/warning":498}],409:[function(require,module,exports){
+},{"_process":32,"fbjs/lib/warning":499}],410:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -36538,7 +36686,7 @@ var ReactOwner = {
module.exports = ReactOwner;
}).call(this,require('_process'))
-},{"_process":32,"fbjs/lib/invariant":487}],410:[function(require,module,exports){
+},{"_process":32,"fbjs/lib/invariant":488}],411:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -36637,7 +36785,7 @@ function _noMeasure(objName, fnName, func) {
module.exports = ReactPerf;
}).call(this,require('_process'))
-},{"_process":32}],411:[function(require,module,exports){
+},{"_process":32}],412:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -36664,7 +36812,7 @@ if (process.env.NODE_ENV !== 'production') {
module.exports = ReactPropTypeLocationNames;
}).call(this,require('_process'))
-},{"_process":32}],412:[function(require,module,exports){
+},{"_process":32}],413:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -36687,7 +36835,7 @@ var ReactPropTypeLocations = keyMirror({
});
module.exports = ReactPropTypeLocations;
-},{"fbjs/lib/keyMirror":490}],413:[function(require,module,exports){
+},{"fbjs/lib/keyMirror":491}],414:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -37044,7 +37192,7 @@ function getClassName(propValue) {
}
module.exports = ReactPropTypes;
-},{"./ReactElement":391,"./ReactPropTypeLocationNames":411,"./getIteratorFn":457,"fbjs/lib/emptyFunction":479}],414:[function(require,module,exports){
+},{"./ReactElement":392,"./ReactPropTypeLocationNames":412,"./getIteratorFn":458,"fbjs/lib/emptyFunction":480}],415:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -37196,7 +37344,7 @@ assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin);
PooledClass.addPoolingTo(ReactReconcileTransaction);
module.exports = ReactReconcileTransaction;
-},{"./CallbackQueue":342,"./Object.assign":359,"./PooledClass":360,"./ReactBrowserEventEmitter":363,"./ReactDOMFeatureFlags":378,"./ReactInputSelection":399,"./Transaction":442}],415:[function(require,module,exports){
+},{"./CallbackQueue":343,"./Object.assign":360,"./PooledClass":361,"./ReactBrowserEventEmitter":364,"./ReactDOMFeatureFlags":379,"./ReactInputSelection":400,"./Transaction":443}],416:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -37304,7 +37452,7 @@ var ReactReconciler = {
};
module.exports = ReactReconciler;
-},{"./ReactRef":416}],416:[function(require,module,exports){
+},{"./ReactRef":417}],417:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -37383,7 +37531,7 @@ ReactRef.detachRefs = function (instance, element) {
};
module.exports = ReactRef;
-},{"./ReactOwner":409}],417:[function(require,module,exports){
+},{"./ReactOwner":410}],418:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -37413,7 +37561,7 @@ var ReactRootIndex = {
};
module.exports = ReactRootIndex;
-},{}],418:[function(require,module,exports){
+},{}],419:[function(require,module,exports){
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
@@ -37437,7 +37585,7 @@ var ReactServerBatchingStrategy = {
};
module.exports = ReactServerBatchingStrategy;
-},{}],419:[function(require,module,exports){
+},{}],420:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -37523,7 +37671,7 @@ module.exports = {
renderToStaticMarkup: renderToStaticMarkup
};
}).call(this,require('_process'))
-},{"./ReactDefaultBatchingStrategy":387,"./ReactElement":391,"./ReactInstanceHandles":400,"./ReactMarkupChecksum":403,"./ReactServerBatchingStrategy":418,"./ReactServerRenderingTransaction":420,"./ReactUpdates":425,"./instantiateReactComponent":460,"_process":32,"fbjs/lib/emptyObject":480,"fbjs/lib/invariant":487}],420:[function(require,module,exports){
+},{"./ReactDefaultBatchingStrategy":388,"./ReactElement":392,"./ReactInstanceHandles":401,"./ReactMarkupChecksum":404,"./ReactServerBatchingStrategy":419,"./ReactServerRenderingTransaction":421,"./ReactUpdates":426,"./instantiateReactComponent":461,"_process":32,"fbjs/lib/emptyObject":481,"fbjs/lib/invariant":488}],421:[function(require,module,exports){
/**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
@@ -37611,7 +37759,7 @@ assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin);
PooledClass.addPoolingTo(ReactServerRenderingTransaction);
module.exports = ReactServerRenderingTransaction;
-},{"./CallbackQueue":342,"./Object.assign":359,"./PooledClass":360,"./Transaction":442,"fbjs/lib/emptyFunction":479}],421:[function(require,module,exports){
+},{"./CallbackQueue":343,"./Object.assign":360,"./PooledClass":361,"./Transaction":443,"fbjs/lib/emptyFunction":480}],422:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -37710,7 +37858,7 @@ var ReactTransitionChildMapping = {
};
module.exports = ReactTransitionChildMapping;
-},{"./flattenChildren":451}],422:[function(require,module,exports){
+},{"./flattenChildren":452}],423:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -37820,7 +37968,7 @@ var ReactTransitionEvents = {
};
module.exports = ReactTransitionEvents;
-},{"fbjs/lib/ExecutionEnvironment":473}],423:[function(require,module,exports){
+},{"fbjs/lib/ExecutionEnvironment":474}],424:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -38026,7 +38174,7 @@ var ReactTransitionGroup = React.createClass({
});
module.exports = ReactTransitionGroup;
-},{"./Object.assign":359,"./React":361,"./ReactTransitionChildMapping":421,"fbjs/lib/emptyFunction":479}],424:[function(require,module,exports){
+},{"./Object.assign":360,"./React":362,"./ReactTransitionChildMapping":422,"fbjs/lib/emptyFunction":480}],425:[function(require,module,exports){
(function (process){
/**
* Copyright 2015, Facebook, Inc.
@@ -38286,7 +38434,7 @@ var ReactUpdateQueue = {
module.exports = ReactUpdateQueue;
}).call(this,require('_process'))
-},{"./Object.assign":359,"./ReactCurrentOwner":373,"./ReactElement":391,"./ReactInstanceMap":401,"./ReactUpdates":425,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],425:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactCurrentOwner":374,"./ReactElement":392,"./ReactInstanceMap":402,"./ReactUpdates":426,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],426:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -38512,7 +38660,7 @@ var ReactUpdates = {
module.exports = ReactUpdates;
}).call(this,require('_process'))
-},{"./CallbackQueue":342,"./Object.assign":359,"./PooledClass":360,"./ReactPerf":410,"./ReactReconciler":415,"./Transaction":442,"_process":32,"fbjs/lib/invariant":487}],426:[function(require,module,exports){
+},{"./CallbackQueue":343,"./Object.assign":360,"./PooledClass":361,"./ReactPerf":411,"./ReactReconciler":416,"./Transaction":443,"_process":32,"fbjs/lib/invariant":488}],427:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -38527,7 +38675,7 @@ module.exports = ReactUpdates;
'use strict';
module.exports = '0.14.6';
-},{}],427:[function(require,module,exports){
+},{}],428:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -38655,7 +38803,7 @@ var SVGDOMPropertyConfig = {
};
module.exports = SVGDOMPropertyConfig;
-},{"./DOMProperty":346}],428:[function(require,module,exports){
+},{"./DOMProperty":347}],429:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -38857,7 +39005,7 @@ var SelectEventPlugin = {
};
module.exports = SelectEventPlugin;
-},{"./EventConstants":351,"./EventPropagators":355,"./ReactInputSelection":399,"./SyntheticEvent":434,"./isTextInputElement":462,"fbjs/lib/ExecutionEnvironment":473,"fbjs/lib/getActiveElement":482,"fbjs/lib/keyOf":491,"fbjs/lib/shallowEqual":496}],429:[function(require,module,exports){
+},{"./EventConstants":352,"./EventPropagators":356,"./ReactInputSelection":400,"./SyntheticEvent":435,"./isTextInputElement":463,"fbjs/lib/ExecutionEnvironment":474,"fbjs/lib/getActiveElement":483,"fbjs/lib/keyOf":492,"fbjs/lib/shallowEqual":497}],430:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -38887,7 +39035,7 @@ var ServerReactRootIndex = {
};
module.exports = ServerReactRootIndex;
-},{}],430:[function(require,module,exports){
+},{}],431:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -39477,7 +39625,7 @@ var SimpleEventPlugin = {
module.exports = SimpleEventPlugin;
}).call(this,require('_process'))
-},{"./EventConstants":351,"./EventPropagators":355,"./ReactMount":404,"./SyntheticClipboardEvent":431,"./SyntheticDragEvent":433,"./SyntheticEvent":434,"./SyntheticFocusEvent":435,"./SyntheticKeyboardEvent":437,"./SyntheticMouseEvent":438,"./SyntheticTouchEvent":439,"./SyntheticUIEvent":440,"./SyntheticWheelEvent":441,"./getEventCharCode":453,"_process":32,"fbjs/lib/EventListener":472,"fbjs/lib/emptyFunction":479,"fbjs/lib/invariant":487,"fbjs/lib/keyOf":491}],431:[function(require,module,exports){
+},{"./EventConstants":352,"./EventPropagators":356,"./ReactMount":405,"./SyntheticClipboardEvent":432,"./SyntheticDragEvent":434,"./SyntheticEvent":435,"./SyntheticFocusEvent":436,"./SyntheticKeyboardEvent":438,"./SyntheticMouseEvent":439,"./SyntheticTouchEvent":440,"./SyntheticUIEvent":441,"./SyntheticWheelEvent":442,"./getEventCharCode":454,"_process":32,"fbjs/lib/EventListener":473,"fbjs/lib/emptyFunction":480,"fbjs/lib/invariant":488,"fbjs/lib/keyOf":492}],432:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -39517,7 +39665,7 @@ function SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, na
SyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface);
module.exports = SyntheticClipboardEvent;
-},{"./SyntheticEvent":434}],432:[function(require,module,exports){
+},{"./SyntheticEvent":435}],433:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -39555,7 +39703,7 @@ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent,
SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);
module.exports = SyntheticCompositionEvent;
-},{"./SyntheticEvent":434}],433:[function(require,module,exports){
+},{"./SyntheticEvent":435}],434:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -39593,7 +39741,7 @@ function SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeE
SyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface);
module.exports = SyntheticDragEvent;
-},{"./SyntheticMouseEvent":438}],434:[function(require,module,exports){
+},{"./SyntheticMouseEvent":439}],435:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -39773,7 +39921,7 @@ PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler);
module.exports = SyntheticEvent;
}).call(this,require('_process'))
-},{"./Object.assign":359,"./PooledClass":360,"_process":32,"fbjs/lib/emptyFunction":479,"fbjs/lib/warning":498}],435:[function(require,module,exports){
+},{"./Object.assign":360,"./PooledClass":361,"_process":32,"fbjs/lib/emptyFunction":480,"fbjs/lib/warning":499}],436:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -39811,7 +39959,7 @@ function SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, native
SyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);
module.exports = SyntheticFocusEvent;
-},{"./SyntheticUIEvent":440}],436:[function(require,module,exports){
+},{"./SyntheticUIEvent":441}],437:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -39850,7 +39998,7 @@ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, native
SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);
module.exports = SyntheticInputEvent;
-},{"./SyntheticEvent":434}],437:[function(require,module,exports){
+},{"./SyntheticEvent":435}],438:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -39936,7 +40084,7 @@ function SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nat
SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);
module.exports = SyntheticKeyboardEvent;
-},{"./SyntheticUIEvent":440,"./getEventCharCode":453,"./getEventKey":454,"./getEventModifierState":455}],438:[function(require,module,exports){
+},{"./SyntheticUIEvent":441,"./getEventCharCode":454,"./getEventKey":455,"./getEventModifierState":456}],439:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40010,7 +40158,7 @@ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, native
SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);
module.exports = SyntheticMouseEvent;
-},{"./SyntheticUIEvent":440,"./ViewportMetrics":443,"./getEventModifierState":455}],439:[function(require,module,exports){
+},{"./SyntheticUIEvent":441,"./ViewportMetrics":444,"./getEventModifierState":456}],440:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40057,7 +40205,7 @@ function SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, native
SyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);
module.exports = SyntheticTouchEvent;
-},{"./SyntheticUIEvent":440,"./getEventModifierState":455}],440:[function(require,module,exports){
+},{"./SyntheticUIEvent":441,"./getEventModifierState":456}],441:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40118,7 +40266,7 @@ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEve
SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);
module.exports = SyntheticUIEvent;
-},{"./SyntheticEvent":434,"./getEventTarget":456}],441:[function(require,module,exports){
+},{"./SyntheticEvent":435,"./getEventTarget":457}],442:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40174,7 +40322,7 @@ function SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, native
SyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);
module.exports = SyntheticWheelEvent;
-},{"./SyntheticMouseEvent":438}],442:[function(require,module,exports){
+},{"./SyntheticMouseEvent":439}],443:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -40408,7 +40556,7 @@ var Transaction = {
module.exports = Transaction;
}).call(this,require('_process'))
-},{"_process":32,"fbjs/lib/invariant":487}],443:[function(require,module,exports){
+},{"_process":32,"fbjs/lib/invariant":488}],444:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40436,7 +40584,7 @@ var ViewportMetrics = {
};
module.exports = ViewportMetrics;
-},{}],444:[function(require,module,exports){
+},{}],445:[function(require,module,exports){
(function (process){
/**
* Copyright 2014-2015, Facebook, Inc.
@@ -40498,7 +40646,7 @@ function accumulateInto(current, next) {
module.exports = accumulateInto;
}).call(this,require('_process'))
-},{"_process":32,"fbjs/lib/invariant":487}],445:[function(require,module,exports){
+},{"_process":32,"fbjs/lib/invariant":488}],446:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40541,7 +40689,7 @@ function adler32(data) {
}
module.exports = adler32;
-},{}],446:[function(require,module,exports){
+},{}],447:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -40568,7 +40716,7 @@ if (process.env.NODE_ENV !== 'production') {
module.exports = canDefineProperty;
}).call(this,require('_process'))
-},{"_process":32}],447:[function(require,module,exports){
+},{"_process":32}],448:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40624,7 +40772,7 @@ function dangerousStyleValue(name, value) {
}
module.exports = dangerousStyleValue;
-},{"./CSSProperty":340}],448:[function(require,module,exports){
+},{"./CSSProperty":341}],449:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -40675,7 +40823,7 @@ function deprecated(fnName, newModule, newPackage, ctx, fn) {
module.exports = deprecated;
}).call(this,require('_process'))
-},{"./Object.assign":359,"_process":32,"fbjs/lib/warning":498}],449:[function(require,module,exports){
+},{"./Object.assign":360,"_process":32,"fbjs/lib/warning":499}],450:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40714,7 +40862,7 @@ function escapeTextContentForBrowser(text) {
}
module.exports = escapeTextContentForBrowser;
-},{}],450:[function(require,module,exports){
+},{}],451:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -40766,7 +40914,7 @@ function findDOMNode(componentOrElement) {
module.exports = findDOMNode;
}).call(this,require('_process'))
-},{"./ReactCurrentOwner":373,"./ReactInstanceMap":401,"./ReactMount":404,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],451:[function(require,module,exports){
+},{"./ReactCurrentOwner":374,"./ReactInstanceMap":402,"./ReactMount":405,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],452:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -40817,7 +40965,7 @@ function flattenChildren(children) {
module.exports = flattenChildren;
}).call(this,require('_process'))
-},{"./traverseAllChildren":469,"_process":32,"fbjs/lib/warning":498}],452:[function(require,module,exports){
+},{"./traverseAllChildren":470,"_process":32,"fbjs/lib/warning":499}],453:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40847,7 +40995,7 @@ var forEachAccumulated = function (arr, cb, scope) {
};
module.exports = forEachAccumulated;
-},{}],453:[function(require,module,exports){
+},{}],454:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -40898,7 +41046,7 @@ function getEventCharCode(nativeEvent) {
}
module.exports = getEventCharCode;
-},{}],454:[function(require,module,exports){
+},{}],455:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41002,7 +41150,7 @@ function getEventKey(nativeEvent) {
}
module.exports = getEventKey;
-},{"./getEventCharCode":453}],455:[function(require,module,exports){
+},{"./getEventCharCode":454}],456:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41047,7 +41195,7 @@ function getEventModifierState(nativeEvent) {
}
module.exports = getEventModifierState;
-},{}],456:[function(require,module,exports){
+},{}],457:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41077,7 +41225,7 @@ function getEventTarget(nativeEvent) {
}
module.exports = getEventTarget;
-},{}],457:[function(require,module,exports){
+},{}],458:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41118,7 +41266,7 @@ function getIteratorFn(maybeIterable) {
}
module.exports = getIteratorFn;
-},{}],458:[function(require,module,exports){
+},{}],459:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41192,7 +41340,7 @@ function getNodeForCharacterOffset(root, offset) {
}
module.exports = getNodeForCharacterOffset;
-},{}],459:[function(require,module,exports){
+},{}],460:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41226,7 +41374,7 @@ function getTextContentAccessor() {
}
module.exports = getTextContentAccessor;
-},{"fbjs/lib/ExecutionEnvironment":473}],460:[function(require,module,exports){
+},{"fbjs/lib/ExecutionEnvironment":474}],461:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -41341,7 +41489,7 @@ function instantiateReactComponent(node) {
module.exports = instantiateReactComponent;
}).call(this,require('_process'))
-},{"./Object.assign":359,"./ReactCompositeComponent":372,"./ReactEmptyComponent":393,"./ReactNativeComponent":407,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],461:[function(require,module,exports){
+},{"./Object.assign":360,"./ReactCompositeComponent":373,"./ReactEmptyComponent":394,"./ReactNativeComponent":408,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],462:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41402,7 +41550,7 @@ function isEventSupported(eventNameSuffix, capture) {
}
module.exports = isEventSupported;
-},{"fbjs/lib/ExecutionEnvironment":473}],462:[function(require,module,exports){
+},{"fbjs/lib/ExecutionEnvironment":474}],463:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41443,7 +41591,7 @@ function isTextInputElement(elem) {
}
module.exports = isTextInputElement;
-},{}],463:[function(require,module,exports){
+},{}],464:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -41479,7 +41627,7 @@ function onlyChild(children) {
module.exports = onlyChild;
}).call(this,require('_process'))
-},{"./ReactElement":391,"_process":32,"fbjs/lib/invariant":487}],464:[function(require,module,exports){
+},{"./ReactElement":392,"_process":32,"fbjs/lib/invariant":488}],465:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41506,7 +41654,7 @@ function quoteAttributeValueForBrowser(value) {
}
module.exports = quoteAttributeValueForBrowser;
-},{"./escapeTextContentForBrowser":449}],465:[function(require,module,exports){
+},{"./escapeTextContentForBrowser":450}],466:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41523,7 +41671,7 @@ module.exports = quoteAttributeValueForBrowser;
var ReactMount = require('./ReactMount');
module.exports = ReactMount.renderSubtreeIntoContainer;
-},{"./ReactMount":404}],466:[function(require,module,exports){
+},{"./ReactMount":405}],467:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41614,7 +41762,7 @@ if (ExecutionEnvironment.canUseDOM) {
}
module.exports = setInnerHTML;
-},{"fbjs/lib/ExecutionEnvironment":473}],467:[function(require,module,exports){
+},{"fbjs/lib/ExecutionEnvironment":474}],468:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41655,7 +41803,7 @@ if (ExecutionEnvironment.canUseDOM) {
}
module.exports = setTextContent;
-},{"./escapeTextContentForBrowser":449,"./setInnerHTML":466,"fbjs/lib/ExecutionEnvironment":473}],468:[function(require,module,exports){
+},{"./escapeTextContentForBrowser":450,"./setInnerHTML":467,"fbjs/lib/ExecutionEnvironment":474}],469:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -41699,7 +41847,7 @@ function shouldUpdateReactComponent(prevElement, nextElement) {
}
module.exports = shouldUpdateReactComponent;
-},{}],469:[function(require,module,exports){
+},{}],470:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -41891,7 +42039,7 @@ function traverseAllChildren(children, callback, traverseContext) {
module.exports = traverseAllChildren;
}).call(this,require('_process'))
-},{"./ReactCurrentOwner":373,"./ReactElement":391,"./ReactInstanceHandles":400,"./getIteratorFn":457,"_process":32,"fbjs/lib/invariant":487,"fbjs/lib/warning":498}],470:[function(require,module,exports){
+},{"./ReactCurrentOwner":374,"./ReactElement":392,"./ReactInstanceHandles":401,"./getIteratorFn":458,"_process":32,"fbjs/lib/invariant":488,"fbjs/lib/warning":499}],471:[function(require,module,exports){
(function (process){
/**
* Copyright 2015, Facebook, Inc.
@@ -42257,7 +42405,7 @@ if (process.env.NODE_ENV !== 'production') {
module.exports = validateDOMNesting;
}).call(this,require('_process'))
-},{"./Object.assign":359,"_process":32,"fbjs/lib/emptyFunction":479,"fbjs/lib/warning":498}],471:[function(require,module,exports){
+},{"./Object.assign":360,"_process":32,"fbjs/lib/emptyFunction":480,"fbjs/lib/warning":499}],472:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -42357,7 +42505,7 @@ var CSSCore = {
module.exports = CSSCore;
}).call(this,require('_process'))
-},{"./invariant":487,"_process":32}],472:[function(require,module,exports){
+},{"./invariant":488,"_process":32}],473:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -42444,7 +42592,7 @@ var EventListener = {
module.exports = EventListener;
}).call(this,require('_process'))
-},{"./emptyFunction":479,"_process":32}],473:[function(require,module,exports){
+},{"./emptyFunction":480,"_process":32}],474:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -42481,7 +42629,7 @@ var ExecutionEnvironment = {
};
module.exports = ExecutionEnvironment;
-},{}],474:[function(require,module,exports){
+},{}],475:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -42514,7 +42662,7 @@ function camelize(string) {
}
module.exports = camelize;
-},{}],475:[function(require,module,exports){
+},{}],476:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -42555,7 +42703,7 @@ function camelizeStyleName(string) {
}
module.exports = camelizeStyleName;
-},{"./camelize":474}],476:[function(require,module,exports){
+},{"./camelize":475}],477:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -42611,7 +42759,7 @@ function containsNode(_x, _x2) {
}
module.exports = containsNode;
-},{"./isTextNode":489}],477:[function(require,module,exports){
+},{"./isTextNode":490}],478:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -42697,7 +42845,7 @@ function createArrayFromMixed(obj) {
}
module.exports = createArrayFromMixed;
-},{"./toArray":497}],478:[function(require,module,exports){
+},{"./toArray":498}],479:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -42784,7 +42932,7 @@ function createNodesFromMarkup(markup, handleScript) {
module.exports = createNodesFromMarkup;
}).call(this,require('_process'))
-},{"./ExecutionEnvironment":473,"./createArrayFromMixed":477,"./getMarkupWrap":483,"./invariant":487,"_process":32}],479:[function(require,module,exports){
+},{"./ExecutionEnvironment":474,"./createArrayFromMixed":478,"./getMarkupWrap":484,"./invariant":488,"_process":32}],480:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -42823,7 +42971,7 @@ emptyFunction.thatReturnsArgument = function (arg) {
};
module.exports = emptyFunction;
-},{}],480:[function(require,module,exports){
+},{}],481:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -42846,7 +42994,7 @@ if (process.env.NODE_ENV !== 'production') {
module.exports = emptyObject;
}).call(this,require('_process'))
-},{"_process":32}],481:[function(require,module,exports){
+},{"_process":32}],482:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -42873,7 +43021,7 @@ function focusNode(node) {
}
module.exports = focusNode;
-},{}],482:[function(require,module,exports){
+},{}],483:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -42909,7 +43057,7 @@ function getActiveElement() /*?DOMElement*/{
}
module.exports = getActiveElement;
-},{}],483:[function(require,module,exports){
+},{}],484:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -43007,7 +43155,7 @@ function getMarkupWrap(nodeName) {
module.exports = getMarkupWrap;
}).call(this,require('_process'))
-},{"./ExecutionEnvironment":473,"./invariant":487,"_process":32}],484:[function(require,module,exports){
+},{"./ExecutionEnvironment":474,"./invariant":488,"_process":32}],485:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43046,7 +43194,7 @@ function getUnboundedScrollPosition(scrollable) {
}
module.exports = getUnboundedScrollPosition;
-},{}],485:[function(require,module,exports){
+},{}],486:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43080,7 +43228,7 @@ function hyphenate(string) {
}
module.exports = hyphenate;
-},{}],486:[function(require,module,exports){
+},{}],487:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43120,7 +43268,7 @@ function hyphenateStyleName(string) {
}
module.exports = hyphenateStyleName;
-},{"./hyphenate":485}],487:[function(require,module,exports){
+},{"./hyphenate":486}],488:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -43173,7 +43321,7 @@ function invariant(condition, format, a, b, c, d, e, f) {
module.exports = invariant;
}).call(this,require('_process'))
-},{"_process":32}],488:[function(require,module,exports){
+},{"_process":32}],489:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43197,7 +43345,7 @@ function isNode(object) {
}
module.exports = isNode;
-},{}],489:[function(require,module,exports){
+},{}],490:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43223,7 +43371,7 @@ function isTextNode(object) {
}
module.exports = isTextNode;
-},{"./isNode":488}],490:[function(require,module,exports){
+},{"./isNode":489}],491:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -43274,7 +43422,7 @@ var keyMirror = function (obj) {
module.exports = keyMirror;
}).call(this,require('_process'))
-},{"./invariant":487,"_process":32}],491:[function(require,module,exports){
+},{"./invariant":488,"_process":32}],492:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43310,7 +43458,7 @@ var keyOf = function (oneKeyObj) {
};
module.exports = keyOf;
-},{}],492:[function(require,module,exports){
+},{}],493:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43362,7 +43510,7 @@ function mapObject(object, callback, context) {
}
module.exports = mapObject;
-},{}],493:[function(require,module,exports){
+},{}],494:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43394,7 +43542,7 @@ function memoizeStringOnly(callback) {
}
module.exports = memoizeStringOnly;
-},{}],494:[function(require,module,exports){
+},{}],495:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43418,7 +43566,7 @@ if (ExecutionEnvironment.canUseDOM) {
}
module.exports = performance || {};
-},{"./ExecutionEnvironment":473}],495:[function(require,module,exports){
+},{"./ExecutionEnvironment":474}],496:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43453,7 +43601,7 @@ if (performance.now) {
}
module.exports = performanceNow;
-},{"./performance":494}],496:[function(require,module,exports){
+},{"./performance":495}],497:[function(require,module,exports){
/**
* Copyright 2013-2015, Facebook, Inc.
* All rights reserved.
@@ -43504,7 +43652,7 @@ function shallowEqual(objA, objB) {
}
module.exports = shallowEqual;
-},{}],497:[function(require,module,exports){
+},{}],498:[function(require,module,exports){
(function (process){
/**
* Copyright 2013-2015, Facebook, Inc.
@@ -43564,7 +43712,7 @@ function toArray(obj) {
module.exports = toArray;
}).call(this,require('_process'))
-},{"./invariant":487,"_process":32}],498:[function(require,module,exports){
+},{"./invariant":488,"_process":32}],499:[function(require,module,exports){
(function (process){
/**
* Copyright 2014-2015, Facebook, Inc.
@@ -43624,12 +43772,12 @@ if (process.env.NODE_ENV !== 'production') {
module.exports = warning;
}).call(this,require('_process'))
-},{"./emptyFunction":479,"_process":32}],499:[function(require,module,exports){
+},{"./emptyFunction":480,"_process":32}],500:[function(require,module,exports){
'use strict';
module.exports = require('./lib/React');
-},{"./lib/React":361}],500:[function(require,module,exports){
+},{"./lib/React":362}],501:[function(require,module,exports){
/**
* Module Dependencies
*/
@@ -43724,7 +43872,7 @@ function makeSelection(el, range){
selection.addRange(range);
}
-},{"dom-iterator":501}],501:[function(require,module,exports){
+},{"dom-iterator":502}],502:[function(require,module,exports){
/**
* Module Dependencies
*/
@@ -44044,7 +44192,7 @@ Iterator.prototype.use = function(fn) {
return this;
};
-},{"component-props":502,"component-xor":503,"props":502,"xor":503}],502:[function(require,module,exports){
+},{"component-props":503,"component-xor":504,"props":503,"xor":504}],503:[function(require,module,exports){
/**
* Global Names
*/
@@ -44131,7 +44279,7 @@ function prefixed(str) {
};
}
-},{}],503:[function(require,module,exports){
+},{}],504:[function(require,module,exports){
/**
* Expose `xor`
*/
diff --git a/jsx/common/ContentEditable.js b/jsx/common/ContentEditable.js
deleted file mode 100644
index bef31d3..0000000
--- a/jsx/common/ContentEditable.js
+++ /dev/null
@@ -1,345 +0,0 @@
-var React = require('react')
-var ReactDOM = require('react-dom')
-var classNames = require('classnames')
-var escapeHTML = require('escape-html')
-var isServer = typeof window === 'undefined'
-
-if (!isServer) {
- var selectionRange = require('selection-range')
-}
-
-var noop = function(){}
-
-/**
- * Make a contenteditable element
- */
-
-var ContentEditable = React.createClass({
-
- propTypes: {
- editing: React.PropTypes.bool,
- html: React.PropTypes.string,
- onChange: React.PropTypes.func.isRequired,
- placeholder: React.PropTypes.bool,
- placeholderText: React.PropTypes.string,
- tagName: React.PropTypes.string,
- onEnterKey: React.PropTypes.func,
- onEscapeKey: React.PropTypes.func,
- preventStyling: React.PropTypes.bool,
- noLinebreaks: React.PropTypes.bool,
- onBlur: React.PropTypes.func,
- onFocus: React.PropTypes.func,
- onBold: React.PropTypes.func,
- onItalic: React.PropTypes.func,
- onKeyDown: React.PropTypes.func,
- onKeyPress: React.PropTypes.func,
- placeholderStyle: React.PropTypes.object
- },
-
- getDefaultProps: function() {
- return {
- html: '',
- placeholder: false,
- placeholderText: '',
- onBold: noop,
- onItalic: noop,
- onKeyDown: noop,
- onKeyPress: noop
- };
- },
-
- getInitialState: function(){
- return {};
- },
-
- shouldComponentUpdate: function(nextProps) {
- var el = ReactDOM.findDOMNode(this)
- if (nextProps.html !== el.innerHTML) {
- if (nextProps.html && document.activeElement === el) {
- this._range = selectionRange(el)
- }
- return true
- }
-
- if (nextProps.placeholder !== this.props.placeholder) {
- return true
- }
-
- if (nextProps.editing !== this.props.editing) {
- return true
- }
-
- return false
- },
-
- componentWillReceiveProps: function (nextProps) {
- if (!this.props.editing && nextProps.editing) {
- if (this.contentIsEmpty(nextProps.html)) {
- this.props.onChange('', true)
- }
- }
- },
-
- componentDidUpdate: function() {
- if (!this.props.editing && !this.props.html) {
- this.props.onChange('')
- }
-
- if (this._range) {
- selectionRange(ReactDOM.findDOMNode(this), this._range)
- delete this._range
- }
- },
-
- autofocus: function(){
- ReactDOM.findDOMNode(this).focus();
- },
-
- render: function() {
-
- // todo: use destructuring
- var editing = this.props.editing;
- var className = this.props.className;
- var tagName = this.props.tagName;
-
- // setup our classes
- var classes = {
- ContentEditable: true
- };
-
- var placeholderStyle = this.props.placeholderStyle || {
- color: '#bbbbbb'
- }
-
- if (className) {
- classes[className] = true;
- }
-
- // set 'div' as our default tagname
- tagName = tagName || 'div';
-
- var content = this.props.html;
-
- // return our newly created element
- return React.createElement(tagName, {
- tabIndex: 0,
- key: '0',
- className: classNames(classes),
- contentEditable: editing,
- onBlur: this.onBlur,
- onFocus: this.onFocus,
- onKeyDown: this.onKeyDown,
- onPaste: this.onPaste,
- onMouseDown: this.onMouseDown,
- 'aria-label': this.props.placeholderText,
- onTouchStart: this.onMouseDown,
- style: this.props.placeholder ? placeholderStyle : this.props.style || {},
- onKeyPress: this.onKeyPress,
- onInput: this.onInput,
- onKeyUp: this.onKeyUp,
- dangerouslySetInnerHTML: {
- __html : this.props.placeholder ? this.props.placeholderText : content
- }
- });
- },
-
- unsetPlaceholder: function(){
- this.props.onChange('', false, '')
- },
-
- setCursorToStart: function(){
- ReactDOM.findDOMNode(this).focus();
- var sel = window.getSelection();
- var range = document.createRange();
- range.setStart(ReactDOM.findDOMNode(this), 0);
- range.collapse(true);
- sel.removeAllRanges();
- sel.addRange(range);
- },
-
- contentIsEmpty: function (content) {
-
- if (this.state.placeholder) {
- return true
- }
-
- if (!content) {
- return true
- }
-
- if (content === '
') {
- return true
- }
-
- if (!content.trim().length) {
- return true
- }
-
- return false
- },
-
-
- onMouseDown: function(e) {
- // prevent cursor placement if placeholder is set
- if (this.contentIsEmpty(this.props.html)) {
- this.setCursorToStart()
- e.preventDefault()
- }
- },
-
- onKeyDown: function(e) {
- var self = this
- this.props.onKeyDown(e)
-
- function prev () {
- e.preventDefault();
- e.stopPropagation();
- self.stop = true
- }
-
- var key = e.keyCode;
-
- // bold & italic styling
- if (e.metaKey) {
-
- // bold
- if (key === 66) {
- this.props.onBold(e)
- if (this.props.preventStyling) {
- return prev()
- }
-
- // italic
- } else if (key === 73) {
- this.props.onItalic(e)
- if (this.props.preventStyling) {
- return prev()
- }
- //paste
- } else if (key === 86) {
- return;
- }
- }
-
- // prevent linebreaks
- if (this.props.noLinebreaks && (key === 13)) {
- return prev()
- }
-
- // placeholder behaviour
- if (this.contentIsEmpty(this.props.html)) { // If no text
-
- if (e.metaKey || (e.shiftKey && (key === 16))) {
- return prev()
- }
-
- switch (key) {
- case 46: // 'Delete' key
- case 8: // 'Backspace' key
- case 9: // 'Tab' key
- case 39: // 'Arrow right' key
- case 37: // 'Arrow left' key
- case 40: // 'Arrow left' key
- case 38: // 'Arrow left' key
- prev();
- break;
-
- case 13:
- // 'Enter' key
- prev();
- if (this.props.onEnterKey) {
- this.props.onEnterKey();
- }
- break;
-
- case 27:
- // 'Escape' key
- prev();
- if (this.props.onEscapeKey) {
- this.props.onEscapeKey();
- }
- break;
-
- default:
- this.unsetPlaceholder();
- break;
- }
- }
- },
-
- _replaceCurrentSelection: function(data) {
- var selection = window.getSelection();
- var range = selection.getRangeAt(0);
- range.deleteContents();
- var fragment = range.createContextualFragment('');
- fragment.textContent = data;
- var replacementEnd = fragment.lastChild;
- range.insertNode(fragment);
- // Set cursor at the end of the replaced content, just like browsers do.
- range.setStartAfter(replacementEnd);
- range.collapse(true);
- selection.removeAllRanges();
- selection.addRange(range);
- },
-
- onPaste: function(e){
- // handle paste manually to ensure we unset our placeholder
- e.preventDefault();
- var data = e.clipboardData.getData('text/plain')
- this._replaceCurrentSelection(data);
- var target = ReactDOM.findDOMNode(this)
- this.props.onChange(target.textContent, false, target.innerHTML)
- },
-
- onKeyPress: function(e){
- this.props.onKeyPress(e)
- },
-
- onKeyUp: function(e) {
- if (this._supportsInput) return
- if (this.stop) {
- this.stop = false
- return
- }
-
- var target = ReactDOM.findDOMNode(this)
- var self = this
-
- if (!target.textContent.trim().length) {
- this.props.onChange('', true, '')
- setTimeout(function(){
- self.setCursorToStart()
- }, 1)
- } else {
- this.props.onChange(target.textContent, false, target.innerHTML)
- }
-
- },
-
- onInput: function(e) {
- this._supportsInput = true
- var val = e.target.innerHTML
- var text = e.target.textContent.trim()
- if (!text) {
- this.props.onChange('', true, '')
- return
- }
-
- this.props.onChange(escapeHTML(e.target.textContent), false, e.target.innerHTML)
- },
-
- onBlur: function(e) {
- if (this.props.onBlur) {
- this.props.onBlur(e);
- }
- },
-
- onFocus: function(e) {
- if (this.props.onFocus) {
- this.props.onFocus(e);
- }
- }
-
-});
-
-module.exports = ContentEditable;
\ No newline at end of file
diff --git a/jsx/common/FollowButton.js b/jsx/common/FollowButton.js
index 1ccfa91..24b2efb 100644
--- a/jsx/common/FollowButton.js
+++ b/jsx/common/FollowButton.js
@@ -6,6 +6,7 @@ var ReactBootstrap = require('react-bootstrap')
, Glyphicon = ReactBootstrap.Glyphicon
, Modal = ReactBootstrap.Modal
, Input = ReactBootstrap.Input
+ , Button = ReactBootstrap.Button
var React = require('react');
@@ -74,7 +75,7 @@ module.exports = FollowButton = React.createClass({
var methodName = this.state.isCurrentlyFollowing ? "Unfollow" : "Follow";
return (
-
+
);
}
});
\ No newline at end of file
diff --git a/jsx/common/PostContent.js b/jsx/common/PostContent.js
index 3f88a33..0504cbe 100644
--- a/jsx/common/PostContent.js
+++ b/jsx/common/PostContent.js
@@ -1,155 +1,12 @@
var React = require('react');
+var PostContentHelper = require('../common/PostContentHelper.js');
module.exports = Post = React.createClass({
- extractUsername: function(s) {
- var username = "";
- for( var i = 0; i < s.length; i++ ) {
- var c = s.charCodeAt(i);
- if( (c >= 'a'.charCodeAt(0) && c <= 'z'.charCodeAt(0)) ||
- (c >= 'A'.charCodeAt(0) && c <= 'Z'.charCodeAt(0)) ||
- (c >= '0'.charCodeAt(0) && c <= '9'.charCodeAt(0)) ||
- c == '_'.charCodeAt(0) ) {
- username += s[i];
- } else {
- break;
- }
- }
- return username;
- },
- extractHashtag: function(s) {
- var hashtag = "";
- s = this.reverseHtmlEntities(s);
- for( var i = 0; i < s.length; i++ ) {
- if( " \n\t.,:/?!;'\"()[]{}*#".indexOf(s[i]) < 0 ) {
- hashtag += s[i];
- } else {
- break;
- }
- }
- return hashtag;
- },
- escapeHtmlEntities: function(str) {
- return str
- .replace(/&/g, '&')
- .replace(//g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, ''');
- },
- reverseHtmlEntities: function(str) {
- return str
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, "'")
- .replace(/&/g, '&');
- },
- parseContent: function( msg ) {
-
- //return [{type:"text",raw:msg}];
-
- var output = [];
-
- var tmp;
- var match = null;
- var index;
- var strUrlRegexp = "http[s]?://";
- var strEmailRegexp = "\\S+@\\S+\\.\\S+";
- var strSplitCounterR = "\\(\\d{1,2}\\/\\d{1,2}\\)$";
- var reAll = new RegExp("(?:^|[ \\n\\t.,:\\/?!])(#|@|" + strUrlRegexp + "|" + strEmailRegexp + "|" + strSplitCounterR + ")");
- var reHttp = new RegExp(strUrlRegexp);
- var reEmail = new RegExp(strEmailRegexp);
- var reSplitCounter = new RegExp(strSplitCounterR);
-
- //msg = this.escapeHtmlEntities(msg);
-
- while( msg != undefined && msg.length ) {
-
- match = reAll.exec(msg);
- if( match ) {
- index = (match[0] === match[1]) ? match.index : match.index + 1;
- if( match[1] == "@" ) {
- output.push({type:"text",raw:(msg.substr(0, index))});
- tmp = msg.substr(index+1);
- var username = this.extractUsername(tmp);
- if( username.length ) {
- output.push({type:"mention",raw:"@"+username});
- }
- msg = tmp.substr(String(username).length);
- continue;
- }
-
- if( reHttp.exec(match[1]) ) {
- output.push({type:"text",raw:(msg.substr(0, index))});
- tmp = msg.substring(index);
- var space = tmp.search(/[ \n\t]/);
- var url;
- if( space != -1 ) url = tmp.substring(0,space); else url = tmp;
- if( url.length ) {
- output.push({type:"url",raw:url});
- }
- msg = tmp.substr(String(url).length);
- continue;
- }
-
- if( reEmail.exec(match[1]) ) {
- output.push({type:"text",raw:(msg.substr(0, index))});
- tmp = msg.substring(index);
- var space = tmp.search(/[ \n\t]/);
- var email;
- if( space != -1 ) email = tmp.substring(0,space); else email = tmp;
- if( email.length ) {
- output.push({type:"email",raw:email});
- }
- msg = tmp.substr(String(email).length);
- continue;
- }
-
- if( match[1] == "#" ) {
- output.push({type:"text",raw:(msg.substr(0, index))});
- tmp = msg.substr(index+1);
- var hashtag = this.extractHashtag(tmp);
- if( hashtag.length ) {
-// var hashtag_lc='';
-// for( var i = 0; i < hashtag.length; i++ ) {
-// var c = hashtag[i];
-// hashtag_lc += (c >= 'A' && c <= 'Z') ? c.toLowerCase() : c;
-// }
- output.push({type:"hashtag",raw:"#"+hashtag});
-
- }
- msg = tmp.substr(String(hashtag).length);
- continue;
- }
-
- /*if (reSplitCounter.exec(match[1])) {
- output.append({type:"text",raw:(msg.substr(0, index))});
- tmp = msg.substring(index);
- if( tmp.length ) {
- var splitCounter = $('');
- splitCounter.text(tmp);
- output.append(splitCounter);
- msg = "";
- continue;
- }
- msg = tmp.substr(String(hashtag).length);
- continue;
- }*/
- }
-
- output.push({type:"text",raw:this.reverseHtmlEntities(msg)});
- msg = "";
-
- }
-
- return output;
-
- },
render: function() {
- var parsedContent = this.parseContent(this.props.content);
+ var parsedContent = PostContentHelper.parseContent(this.props.content);
//console.log(parsedContent)
diff --git a/jsx/common/TwistComposer.js b/jsx/common/TwistComposer.js
deleted file mode 100644
index a4f87dd..0000000
--- a/jsx/common/TwistComposer.js
+++ /dev/null
@@ -1,45 +0,0 @@
-var React = require('react');
-var ContentEditable = require('../common/ContentEditable.js');
-
-module.exports = TwistComposer = React.createClass({ displayName: "TwistComposer",
-
- getInitialState: function () {
- return {
- html: 'default text',
- placeholder: true,
- editing: true
- };
- },
-
- render: function () {
- return React.createElement("div", null, React.createElement(ContentEditable, {
- tagName: "textarea",
- onChange: this.onChange,
- html: this.state.html,
- preventStyling: true,
- noLinebreaks: true,
- placeholder: this.state.placeholder,
- placeholderText: "Your Name",
- editing: this.state.editing }), React.createElement("button", { onClick: this.enableEditing }, "Enable Editing"));
- },
-
- onChange: function (textContent, setPlaceholder) {
- if (setPlaceholder) {
- this.setState({
- placeholder: true,
- html: ''
- });
- } else {
- this.setState({
- placeholder: false,
- html: textContent
- });
- }
- },
-
- enableEditing: function () {
- // set your contenteditable field into editing mode.
- this.setState({ editing: true });
- }
-
-});
\ No newline at end of file
diff --git a/jsx/home/NewPostModalButton.js b/jsx/home/NewPostModalButton.js
index 8a9812f..0c77bd3 100755
--- a/jsx/home/NewPostModalButton.js
+++ b/jsx/home/NewPostModalButton.js
@@ -10,7 +10,7 @@ var React = require('react');
var SafeStateChangeMixin = require('../common/SafeStateChangeMixin.js');
var SetIntervalMixin = require("../common/SetIntervalMixin.js");
-var TwistComposer = require("../common/TwistComposer.js");
+var PostComposer = require("../common/PostComposer.js");
module.exports = NewPostModalButton = React.createClass({
getInitialState: function () {
@@ -23,10 +23,9 @@ module.exports = NewPostModalButton = React.createClass({
isModalOpen: !this.state.isModalOpen
});
},
- handleNewPost: function (e) {
- e.preventDefault();
- //console.log(e)
- var msg = JSON.parse(JSON.stringify(e.target[0].value));
+ handleNewPost: function (text) {
+ console.log(text)
+ var msg = text;
if (!msg) {
console.log("empty post was passed as new post")
return;
@@ -39,38 +38,23 @@ module.exports = NewPostModalButton = React.createClass({
window.dispatchEvent(event);
});
-
- e.target[0].value = "";
-
-
+
this.handleToggle();
//React.findDOMNode(this.refs.msg).value = '';
return;
+
},
render: function() {
return (
-
-
} onRequestHide={this.handleToggle}>
-
-
-
-
-
);
- },
- renderOverlay: function() {
-
- if (!this.state.isModalOpen) {
- return ;
- }
-
-
}
});
\ No newline at end of file
diff --git a/package.json b/package.json
index c5d6c17..051b491 100755
--- a/package.json
+++ b/package.json
@@ -10,8 +10,7 @@
"react-router": "*",
"react-router-bootstrap": "*",
"react-dom": "*",
- "selection-range": "*",
- "escape-html": "*",
+ "react-wysiwyg": "*",
"react-addons-css-transition-group": "*"
},
"devDependencies": {
diff --git a/tests/PostContentTest.js b/tests/PostContentTest.js
index d128957..c62239a 100644
--- a/tests/PostContentTest.js
+++ b/tests/PostContentTest.js
@@ -1,5 +1,4 @@
-var PostContent = require("../build-buffer/common/PostContent.js");
+var PostContentHelper = require("../build-buffer/common/PostContentHelper.js");
-var sut = new PostContent();
-console.log(sut.parseContent(".@tschaul so cool, great work!"));
\ No newline at end of file
+console.log(PostContentHelper.parseContent("asd http://"));
\ No newline at end of file