diff --git a/demo.css b/demo.css index 0fdec3c..1d1b502 100644 --- a/demo.css +++ b/demo.css @@ -35,6 +35,15 @@ button { padding: 0.3rem 0.5rem; } +.int-demo { + margin-bottom: 0.5rem; +} + +.int-demo button { + float: none; + margin-left: 0.5rem; +} + .flash { animation-name: flash; animation-duration: 0.5s; @@ -63,6 +72,15 @@ button { .table-drag-select td.cell-selected { background-color: #FBD5D4; } +.table-drag-select td.foo { + background-color: #FF0000; +} +.table-drag-select td.bar { + background-color: #00FF00; +} +.table-drag-select td.baz { + background-color: #0000ff; +} .table-drag-select td.cell-being-selected { background-color: #EACA96; diff --git a/demo.js b/demo.js index a31b904..0ef5beb 100644 --- a/demo.js +++ b/demo.js @@ -240,10 +240,21 @@ class App extends React.Component { [false, false, false, false, false, false, false], [false, false, false, false, false, false, false], [false, false, false, false, false, false, false] - ] + ], + intCells: [ + [0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0] + ], + setValue: 0 }; - render = () => ( + render = () =>

@@ -334,24 +345,126 @@ class App extends React.Component { overtime +

+ {"onChange={cells => ...}"} callback +

+
+          cells = {stringifyBoolMatrix(this.state.cells)}
+        
+ +

Int value mode

+
+ Current `setValue`: {this.state.setValue} + +
+ + + + Monday + Tuesday + Wednesday + Thursday + Friday + Saturday + + + 10:00 + + + + + + overtime + + + 11:00 + + + + + + overtime + + + 12:00 + + + + + + overtime + + + 13:00 + + + + + + overtime + + + 14:00 + + + + + + overtime + + + 15:00 + + + + + + overtime + + + 16:00 + + + + + + overtime + +

-

{"onChange={cells => ...}"} callback

-
cells = {stringifyBoolMatrix(this.state.cells)}
+
+        intCells = {stringifyIntMatrix(this.state.intCells)}
+      

Javascript

-
{jsCode}
+
+        {jsCode}
+      

Optional styling

This isn't required, but changing the colors can really spruce things up.

-
{cssCode}
+
+        {cssCode}
+      

Resulting DOM

-
{resultingDOM}
- - ); +
+        {resultingDOM}
+      
+ ; handleChange = cells => { if (!equal(this.state.cells, cells)) { @@ -360,6 +473,10 @@ class App extends React.Component { } }; + handleIntChange = intCells => this.setState({ intCells }); + updateSetValue = () => + this.setState(state => ({ setValue: (state.setValue + 1) % 4 })); + handleReset = () => { const cells = [ [false, false, false, false, false, false, false], @@ -389,9 +506,17 @@ const stringifyBoolMatrix = matrix => { return row.map(cell => (cell ? " true" : "false")).join(", "); }; - return "[\n [" + matrix.map(row2Str).join("],\n [") + "]\n]"; + return prettyPrintMatrix(matrix, row2Str); }; +const stringifyIntMatrix = matrix => { + const row2Str = row => row.join(", "); + return prettyPrintMatrix(matrix, row2Str); +}; + +const prettyPrintMatrix = (matrix, rowFn) => + "[\n [" + matrix.map(rowFn).join("],\n [") + "]\n]"; + const div = document.createElement("div"); document.body.appendChild(div); ReactDOM.render(, div); diff --git a/docs/bundle.js b/docs/bundle.js index 2d1e1ea..a7fb32b 100644 --- a/docs/bundle.js +++ b/docs/bundle.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 90); +/******/ return __webpack_require__(__webpack_require__.s = 89); /******/ }) /************************************************************************/ /******/ ([ @@ -86,7 +86,7 @@ var process=module.exports={},cachedSetTimeout,cachedClearTimeout;function defau /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {var emptyFunction=__webpack_require__(8),warning=emptyFunction;if('production'!==process.env.NODE_ENV){var printWarning=function(b){for(var c=arguments.length,d=Array(1d.length?c+' (keys: '+d.join(', ')+')':c}function getInternalInstanceReadyForUpdate(a,b){var c=ReactInstanceMap.get(a);if(!c){if('production'!==process.env.NODE_ENV){var d=a.constructor;'production'===process.env.NODE_ENV?void 0:warning(!b,'%s(...): Can only update a mounted or mounting component. This usually means you called %s() on an unmounted component. This is a no-op. Please check the code for the %s component.',b,b,d&&(d.displayName||d.name)||'ReactClass')}return null}return'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(null==ReactCurrentOwner.current,'%s(...): Cannot update during an existing state transition (such as within `render` or another component\\\'s constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to `componentWillMount`.',b)),c}var ReactUpdateQueue={isMounted:function isMounted(a){if('production'!==process.env.NODE_ENV){var b=ReactCurrentOwner.current;null!==b&&('production'===process.env.NODE_ENV?void 0:warning(b._warnedAboutRefsInRender,'%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.',b.getName()||'A component'),b._warnedAboutRefsInRender=!0)}var c=ReactInstanceMap.get(a);return!!c&&!!c._renderedComponent},enqueueCallback:function enqueueCallback(a,b,c){ReactUpdateQueue.validateCallback(b,c);var d=getInternalInstanceReadyForUpdate(a);return d?void(d._pendingCallbacks?d._pendingCallbacks.push(b):d._pendingCallbacks=[b],enqueueUpdate(d)):null},enqueueCallbackInternal:function enqueueCallbackInternal(a,b){a._pendingCallbacks?a._pendingCallbacks.push(b):a._pendingCallbacks=[b],enqueueUpdate(a)},enqueueForceUpdate:function enqueueForceUpdate(a){var b=getInternalInstanceReadyForUpdate(a,'forceUpdate');b&&(b._pendingForceUpdate=!0,enqueueUpdate(b))},enqueueReplaceState:function enqueueReplaceState(a,b,c){var d=getInternalInstanceReadyForUpdate(a,'replaceState');d&&(d._pendingStateQueue=[b],d._pendingReplaceState=!0,c!==void 0&&null!==c&&(ReactUpdateQueue.validateCallback(c,'replaceState'),d._pendingCallbacks?d._pendingCallbacks.push(c):d._pendingCallbacks=[c]),enqueueUpdate(d))},enqueueSetState:function enqueueSetState(a,b){'production'!==process.env.NODE_ENV&&(ReactInstrumentation.debugTool.onSetState(),'production'===process.env.NODE_ENV?void 0:warning(null!=b,'setState(...): You passed an undefined or null state object; instead, use forceUpdate().'));var c=getInternalInstanceReadyForUpdate(a,'setState');if(c){var d=c._pendingStateQueue||(c._pendingStateQueue=[]);d.push(b),enqueueUpdate(c)}},enqueueElementInternal:function enqueueElementInternal(a,b,c){a._pendingElement=b,a._context=c,enqueueUpdate(a)},validateCallback:function validateCallback(a,b){!a||'function'==typeof a?void 0:'production'===process.env.NODE_ENV?_prodInvariant('122',b,formatUnexpectedArgument(a)):invariant(!1,'%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.',b,formatUnexpectedArgument(a))}};module.exports=ReactUpdateQueue; +/* WEBPACK VAR INJECTION */(function(process) {var _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&'function'==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?'symbol':typeof a},_prodInvariant=__webpack_require__(3),ReactCurrentOwner=__webpack_require__(11),ReactInstanceMap=__webpack_require__(23),ReactInstrumentation=__webpack_require__(9),ReactUpdates=__webpack_require__(10),invariant=__webpack_require__(1),warning=__webpack_require__(2);function enqueueUpdate(a){ReactUpdates.enqueueUpdate(a)}function formatUnexpectedArgument(a){var b='undefined'==typeof a?'undefined':_typeof(a);if('object'!==b)return b;var c=a.constructor&&a.constructor.name||b,d=Object.keys(a);return 0d.length?c+' (keys: '+d.join(', ')+')':c}function getInternalInstanceReadyForUpdate(a,b){var c=ReactInstanceMap.get(a);if(!c){if('production'!==process.env.NODE_ENV){var d=a.constructor;'production'===process.env.NODE_ENV?void 0:warning(!b,'%s(...): Can only update a mounted or mounting component. This usually means you called %s() on an unmounted component. This is a no-op. Please check the code for the %s component.',b,b,d&&(d.displayName||d.name)||'ReactClass')}return null}return'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(null==ReactCurrentOwner.current,'%s(...): Cannot update during an existing state transition (such as within `render` or another component\\\'s constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to `componentWillMount`.',b)),c}var ReactUpdateQueue={isMounted:function isMounted(a){if('production'!==process.env.NODE_ENV){var b=ReactCurrentOwner.current;null!==b&&('production'===process.env.NODE_ENV?void 0:warning(b._warnedAboutRefsInRender,'%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.',b.getName()||'A component'),b._warnedAboutRefsInRender=!0)}var c=ReactInstanceMap.get(a);return!!c&&!!c._renderedComponent},enqueueCallback:function enqueueCallback(a,b,c){ReactUpdateQueue.validateCallback(b,c);var d=getInternalInstanceReadyForUpdate(a);return d?void(d._pendingCallbacks?d._pendingCallbacks.push(b):d._pendingCallbacks=[b],enqueueUpdate(d)):null},enqueueCallbackInternal:function enqueueCallbackInternal(a,b){a._pendingCallbacks?a._pendingCallbacks.push(b):a._pendingCallbacks=[b],enqueueUpdate(a)},enqueueForceUpdate:function enqueueForceUpdate(a){var b=getInternalInstanceReadyForUpdate(a,'forceUpdate');b&&(b._pendingForceUpdate=!0,enqueueUpdate(b))},enqueueReplaceState:function enqueueReplaceState(a,b,c){var d=getInternalInstanceReadyForUpdate(a,'replaceState');d&&(d._pendingStateQueue=[b],d._pendingReplaceState=!0,c!==void 0&&null!==c&&(ReactUpdateQueue.validateCallback(c,'replaceState'),d._pendingCallbacks?d._pendingCallbacks.push(c):d._pendingCallbacks=[c]),enqueueUpdate(d))},enqueueSetState:function enqueueSetState(a,b){'production'!==process.env.NODE_ENV&&(ReactInstrumentation.debugTool.onSetState(),'production'===process.env.NODE_ENV?void 0:warning(null!=b,'setState(...): You passed an undefined or null state object; instead, use forceUpdate().'));var c=getInternalInstanceReadyForUpdate(a,'setState');if(c){var d=c._pendingStateQueue||(c._pendingStateQueue=[]);d.push(b),enqueueUpdate(c)}},enqueueElementInternal:function enqueueElementInternal(a,b,c){a._pendingElement=b,a._context=c,enqueueUpdate(a)},validateCallback:function validateCallback(a,b){!a||'function'==typeof a?void 0:'production'===process.env.NODE_ENV?_prodInvariant('122',b,formatUnexpectedArgument(a)):invariant(!1,'%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.',b,formatUnexpectedArgument(a))}};module.exports=ReactUpdateQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) /***/ }), @@ -439,7 +439,7 @@ var _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol.iterator?function /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {var lowPriorityWarning=function(){};if('production'!==process.env.NODE_ENV){var printWarning=function(a){for(var b=arguments.length,c=Array(1G&&(warning(!1,'You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.',N,L),F[P]=!0,G++)}return null==J[K]?I?null===J[K]?new e('The '+M+' `'+N+'` is marked as required '+('in `'+L+'`, but its value is `null`.')):new e('The '+M+' `'+N+'` is marked as required in '+('`'+L+'`, but its value is `undefined`.')):null:D(J,K,L,M,N)}if('production'!==process.env.NODE_ENV)var F={},G=0;var H=E.bind(null,!1);return H.isRequired=E.bind(null,!0),H}function g(D){return f(function(F,G,H,I,J){var L=F[G],M=t(L);if(M!==D){var N=u(L);return new e('Invalid '+I+' `'+J+'` of type '+('`'+N+'` supplied to `'+H+'`, expected ')+('`'+D+'`.'))}return null})}function r(D){switch('undefined'==typeof D?'undefined':_typeof(D)){case'number':case'string':case'undefined':return!0;case'boolean':return!D;case'object':if(Array.isArray(D))return D.every(r);if(null===D||a(D))return!0;var E=c(D);if(E){var G,F=E.call(D);if(E!==D.entries){for(;!(G=F.next()).done;)if(!r(G.value))return!1;}else for(;!(G=F.next()).done;){var H=G.value;if(H&&!r(H[1]))return!1}}else return!1;return!0;default:return!1;}}function s(D,E){return'symbol'===D||'Symbol'===E['@@toStringTag']||'function'==typeof Symbol&&E instanceof Symbol}function t(D){var E='undefined'==typeof D?'undefined':_typeof(D);return Array.isArray(D)?'array':D instanceof RegExp?'object':s(E,D)?'symbol':E}function u(D){if('undefined'==typeof D||null===D)return''+D;var E=t(D);if('object'===E){if(D instanceof Date)return'date';if(D instanceof RegExp)return'regexp'}return E}function v(D){var E=u(D);return'array'===E||'object'===E?'an '+E:'boolean'===E||'date'===E||'regexp'===E?'a '+E:E}function w(D){return D.constructor&&D.constructor.name?D.constructor.name:B}var z='function'==typeof Symbol&&Symbol.iterator,A='@@iterator',B='<>',C={array:g('array'),bool:g('boolean'),func:g('function'),number:g('number'),object:g('object'),string:g('string'),symbol:g('symbol'),any:function(){return f(emptyFunction.thatReturnsNull)}(),arrayOf:function(D){return f(function(F,G,H,I,J){if('function'!=typeof D)return new e('Property `'+J+'` of component `'+H+'` has invalid PropType notation inside arrayOf.');var K=F[G];if(!Array.isArray(K)){var L=t(K);return new e('Invalid '+I+' `'+J+'` of type '+('`'+L+'` supplied to `'+H+'`, expected an array.'))}for(var N,M=0;MG&&(warning(!1,'You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.',N,L),F[P]=!0,G++)}return null==J[K]?I?null===J[K]?new e('The '+M+' `'+N+'` is marked as required '+('in `'+L+'`, but its value is `null`.')):new e('The '+M+' `'+N+'` is marked as required in '+('`'+L+'`, but its value is `undefined`.')):null:D(J,K,L,M,N)}if('production'!==process.env.NODE_ENV)var F={},G=0;var H=E.bind(null,!1);return H.isRequired=E.bind(null,!0),H}function g(D){return f(function(F,G,H,I,J){var L=F[G],M=t(L);if(M!==D){var N=u(L);return new e('Invalid '+I+' `'+J+'` of type '+('`'+N+'` supplied to `'+H+'`, expected ')+('`'+D+'`.'))}return null})}function r(D){switch('undefined'==typeof D?'undefined':_typeof(D)){case'number':case'string':case'undefined':return!0;case'boolean':return!D;case'object':if(Array.isArray(D))return D.every(r);if(null===D||a(D))return!0;var E=c(D);if(E){var G,F=E.call(D);if(E!==D.entries){for(;!(G=F.next()).done;)if(!r(G.value))return!1;}else for(;!(G=F.next()).done;){var H=G.value;if(H&&!r(H[1]))return!1}}else return!1;return!0;default:return!1;}}function s(D,E){return'symbol'===D||'Symbol'===E['@@toStringTag']||'function'==typeof Symbol&&E instanceof Symbol}function t(D){var E='undefined'==typeof D?'undefined':_typeof(D);return Array.isArray(D)?'array':D instanceof RegExp?'object':s(E,D)?'symbol':E}function u(D){if('undefined'==typeof D||null===D)return''+D;var E=t(D);if('object'===E){if(D instanceof Date)return'date';if(D instanceof RegExp)return'regexp'}return E}function v(D){var E=u(D);return'array'===E||'object'===E?'an '+E:'boolean'===E||'date'===E||'regexp'===E?'a '+E:E}function w(D){return D.constructor&&D.constructor.name?D.constructor.name:B}var z='function'==typeof Symbol&&Symbol.iterator,A='@@iterator',B='<>',C={array:g('array'),bool:g('boolean'),func:g('function'),number:g('number'),object:g('object'),string:g('string'),symbol:g('symbol'),any:function(){return f(emptyFunction.thatReturnsNull)}(),arrayOf:function(D){return f(function(F,G,H,I,J){if('function'!=typeof D)return new e('Property `'+J+'` of component `'+H+'` has invalid PropType notation inside arrayOf.');var K=F[G];if(!Array.isArray(K)){var L=t(K);return new e('Invalid '+I+' `'+J+'` of type '+('`'+L+'` supplied to `'+H+'`, expected an array.'))}for(var N,M=0;Mb||a.hasOverloadedBooleanValue&&!1===b}var DOMPropertyOperations={createMarkupForID:function createMarkupForID(a){return DOMProperty.ID_ATTRIBUTE_NAME+'='+quoteAttributeValueForBrowser(a)},setAttributeForID:function setAttributeForID(a,b){a.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME,b)},createMarkupForRoot:function createMarkupForRoot(){return DOMProperty.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function setAttributeForRoot(a){a.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME,'')},createMarkupForProperty:function createMarkupForProperty(a,b){var c=DOMProperty.properties.hasOwnProperty(a)?DOMProperty.properties[a]:null;if(c){if(shouldIgnoreValue(c,b))return'';var d=c.attributeName;return c.hasBooleanValue||c.hasOverloadedBooleanValue&&!0===b?d+'=""':d+'='+quoteAttributeValueForBrowser(b)}return DOMProperty.isCustomAttribute(a)?null==b?'':a+'='+quoteAttributeValueForBrowser(b):null},createMarkupForCustomAttribute:function createMarkupForCustomAttribute(a,b){return isAttributeNameSafe(a)&&null!=b?a+'='+quoteAttributeValueForBrowser(b):''},setValueForProperty:function setValueForProperty(a,b,c){var d=DOMProperty.properties.hasOwnProperty(b)?DOMProperty.properties[b]:null;if(d){var e=d.mutationMethod;if(e)e(a,c);else{if(shouldIgnoreValue(d,c))return void this.deleteValueForProperty(a,b);if(d.mustUseProperty)a[d.propertyName]=c;else{var f=d.attributeName,g=d.attributeNamespace;g?a.setAttributeNS(g,f,''+c):d.hasBooleanValue||d.hasOverloadedBooleanValue&&!0===c?a.setAttribute(f,''):a.setAttribute(f,''+c)}}}else if(DOMProperty.isCustomAttribute(b))return void DOMPropertyOperations.setValueForAttribute(a,b,c);if('production'!==process.env.NODE_ENV){var h={};h[b]=c,ReactInstrumentation.debugTool.onHostOperation({instanceID:ReactDOMComponentTree.getInstanceFromNode(a)._debugID,type:'update attribute',payload:h})}},setValueForAttribute:function setValueForAttribute(a,b,c){if(isAttributeNameSafe(b)&&(null==c?a.removeAttribute(b):a.setAttribute(b,''+c),'production'!==process.env.NODE_ENV)){var d={};d[b]=c,ReactInstrumentation.debugTool.onHostOperation({instanceID:ReactDOMComponentTree.getInstanceFromNode(a)._debugID,type:'update attribute',payload:d})}},deleteValueForAttribute:function deleteValueForAttribute(a,b){a.removeAttribute(b),'production'!==process.env.NODE_ENV&&ReactInstrumentation.debugTool.onHostOperation({instanceID:ReactDOMComponentTree.getInstanceFromNode(a)._debugID,type:'remove attribute',payload:b})},deleteValueForProperty:function deleteValueForProperty(a,b){var c=DOMProperty.properties.hasOwnProperty(b)?DOMProperty.properties[b]:null;if(c){var d=c.mutationMethod;if(d)d(a,void 0);else if(c.mustUseProperty){var e=c.propertyName;a[e]=!c.hasBooleanValue&&''}else a.removeAttribute(c.attributeName)}else DOMProperty.isCustomAttribute(b)&&a.removeAttribute(b);'production'!==process.env.NODE_ENV&&ReactInstrumentation.debugTool.onHostOperation({instanceID:ReactDOMComponentTree.getInstanceFromNode(a)._debugID,type:'remove attribute',payload:b})}};module.exports=DOMPropertyOperations; +/* WEBPACK VAR INJECTION */(function(process) {var _prodInvariant=__webpack_require__(3);function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError('Cannot call a class as a function')}var PooledClass=__webpack_require__(14),invariant=__webpack_require__(1),CallbackQueue=function(){function a(b){_classCallCheck(this,a),this._callbacks=null,this._contexts=null,this._arg=b}return a.prototype.enqueue=function(c,d){this._callbacks=this._callbacks||[],this._callbacks.push(c),this._contexts=this._contexts||[],this._contexts.push(d)},a.prototype.notifyAll=function(){var c=this._callbacks,d=this._contexts,e=this._arg;if(c&&d){c.length===d.length?void 0:'production'===process.env.NODE_ENV?_prodInvariant('24'):invariant(!1,'Mismatched list of contexts in callback queue'),this._callbacks=null,this._contexts=null;for(var f=0;fb||a.hasOverloadedBooleanValue&&!1===b}var DOMPropertyOperations={createMarkupForID:function createMarkupForID(a){return DOMProperty.ID_ATTRIBUTE_NAME+'='+quoteAttributeValueForBrowser(a)},setAttributeForID:function setAttributeForID(a,b){a.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME,b)},createMarkupForRoot:function createMarkupForRoot(){return DOMProperty.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function setAttributeForRoot(a){a.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME,'')},createMarkupForProperty:function createMarkupForProperty(a,b){var c=DOMProperty.properties.hasOwnProperty(a)?DOMProperty.properties[a]:null;if(c){if(shouldIgnoreValue(c,b))return'';var d=c.attributeName;return c.hasBooleanValue||c.hasOverloadedBooleanValue&&!0===b?d+'=""':d+'='+quoteAttributeValueForBrowser(b)}return DOMProperty.isCustomAttribute(a)?null==b?'':a+'='+quoteAttributeValueForBrowser(b):null},createMarkupForCustomAttribute:function createMarkupForCustomAttribute(a,b){return isAttributeNameSafe(a)&&null!=b?a+'='+quoteAttributeValueForBrowser(b):''},setValueForProperty:function setValueForProperty(a,b,c){var d=DOMProperty.properties.hasOwnProperty(b)?DOMProperty.properties[b]:null;if(d){var e=d.mutationMethod;if(e)e(a,c);else{if(shouldIgnoreValue(d,c))return void this.deleteValueForProperty(a,b);if(d.mustUseProperty)a[d.propertyName]=c;else{var f=d.attributeName,g=d.attributeNamespace;g?a.setAttributeNS(g,f,''+c):d.hasBooleanValue||d.hasOverloadedBooleanValue&&!0===c?a.setAttribute(f,''):a.setAttribute(f,''+c)}}}else if(DOMProperty.isCustomAttribute(b))return void DOMPropertyOperations.setValueForAttribute(a,b,c);if('production'!==process.env.NODE_ENV){var h={};h[b]=c,ReactInstrumentation.debugTool.onHostOperation({instanceID:ReactDOMComponentTree.getInstanceFromNode(a)._debugID,type:'update attribute',payload:h})}},setValueForAttribute:function setValueForAttribute(a,b,c){if(isAttributeNameSafe(b)&&(null==c?a.removeAttribute(b):a.setAttribute(b,''+c),'production'!==process.env.NODE_ENV)){var d={};d[b]=c,ReactInstrumentation.debugTool.onHostOperation({instanceID:ReactDOMComponentTree.getInstanceFromNode(a)._debugID,type:'update attribute',payload:d})}},deleteValueForAttribute:function deleteValueForAttribute(a,b){a.removeAttribute(b),'production'!==process.env.NODE_ENV&&ReactInstrumentation.debugTool.onHostOperation({instanceID:ReactDOMComponentTree.getInstanceFromNode(a)._debugID,type:'remove attribute',payload:b})},deleteValueForProperty:function deleteValueForProperty(a,b){var c=DOMProperty.properties.hasOwnProperty(b)?DOMProperty.properties[b]:null;if(c){var d=c.mutationMethod;if(d)d(a,void 0);else if(c.mustUseProperty){var e=c.propertyName;a[e]=!c.hasBooleanValue&&''}else a.removeAttribute(c.attributeName)}else DOMProperty.isCustomAttribute(b)&&a.removeAttribute(b);'production'!==process.env.NODE_ENV&&ReactInstrumentation.debugTool.onHostOperation({instanceID:ReactDOMComponentTree.getInstanceFromNode(a)._debugID,type:'remove attribute',payload:b})}};module.exports=DOMPropertyOperations; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) /***/ }), /* 61 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {var _assign=__webpack_require__(4),LinkedValueUtils=__webpack_require__(38),ReactDOMComponentTree=__webpack_require__(5),ReactUpdates=__webpack_require__(10),warning=__webpack_require__(2),didWarnValueLink=!1,didWarnValueDefaultValue=!1;function updateOptionsIfPendingUpdateAndMounted(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var a=this._currentElement.props,b=LinkedValueUtils.getValue(a);null!=b&&updateOptions(this,!!a.multiple,b)}}function getDeclarationErrorAddendum(a){if(a){var b=a.getName();if(b)return' Check the render method of `'+b+'`.'}return''}var valuePropNames=['value','defaultValue'];function checkSelectPropTypes(a,b){var c=a._currentElement._owner;LinkedValueUtils.checkPropTypes('select',b,c),b.valueLink===void 0||didWarnValueLink||('production'===process.env.NODE_ENV?void 0:warning(!1,'`valueLink` prop on `select` is deprecated; set `value` and `onChange` instead.'),didWarnValueLink=!0);for(var e,d=0;d must be an array if `multiple` is true.%s',e,getDeclarationErrorAddendum(c)):!b.multiple&&f&&('production'===process.env.NODE_ENV?void 0:warning(!1,'The `%s` prop supplied to must be a scalar value if `multiple` is false.%s',e,getDeclarationErrorAddendum(c)))}}function updateOptions(a,b,c){var d,e,f=ReactDOMComponentTree.getNodeFromInstance(a).options;if(b){for(d={},e=0;e.':'function'==typeof b?' Instead of passing a class like Foo, pass React.createElement(Foo) or .':null!=b&&void 0!==b.props?' This may be caused by unintentionally loading two independent copies of React.':''):invariant(!1,'ReactDOM.render(): Invalid component element.%s','string'==typeof b?' Instead of passing a string like \\\'div\\\', pass React.createElement(\\\'div\\\') or
.':'function'==typeof b?' Instead of passing a class like Foo, pass React.createElement(Foo) or .':null!=b&&void 0!==b.props?' This may be caused by unintentionally loading two independent copies of React.':''),'production'===process.env.NODE_ENV?void 0:warning(!c||!c.tagName||'BODY'!==c.tagName.toUpperCase(),'render(): Rendering components directly into document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try rendering into a container element created for your app.');var f,e=React.createElement(TopLevelWrapper,{child:b});if(a){var g=ReactInstanceMap.get(a);f=g._processChildContext(g._context)}else f=emptyObject;var h=getTopLevelWrapperInContainer(c);if(h){var j=h._currentElement,k=j.props.child;if(shouldUpdateReactComponent(k,b)){var l=h._renderedComponent.getPublicInstance(),m=d&&function(){d.call(l)};return ReactMount._updateRootComponent(h,e,f,c,m),l}ReactMount.unmountComponentAtNode(c)}var n=getReactRootElementInContainer(c),o=n&&!!internalGetID(n),p=hasNonRootReactChild(c);if('production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(!p,'render(...): Replacing React-rendered children with a new root component. If you intended to update the children of this node, you should instead have the existing children update their state and render the new components instead of calling ReactDOM.render.'),!o||n.nextSibling))for(var q=n;q;){if(internalGetID(q)){'production'===process.env.NODE_ENV?void 0:warning(!1,'render(): Target node has markup rendered by React, but there are unrelated nodes as well. This is most commonly caused by white-space inserted around server-rendered markup.');break}q=q.nextSibling}var s=ReactMount._renderNewRootComponent(e,c,o&&!h&&!p,f)._renderedComponent.getPublicInstance();return d&&d.call(s),s},render:function render(a,b,c){return ReactMount._renderSubtreeIntoContainer(null,a,b,c)},unmountComponentAtNode:function unmountComponentAtNode(a){'production'===process.env.NODE_ENV?void 0:warning(null==ReactCurrentOwner.current,'unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. Check the render method of %s.',ReactCurrentOwner.current&&ReactCurrentOwner.current.getName()||'ReactCompositeComponent'),isValidContainer(a)?void 0:'production'===process.env.NODE_ENV?_prodInvariant('40'):invariant(!1,'unmountComponentAtNode(...): Target container is not a DOM element.'),'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(!nodeIsRenderedByOtherInstance(a),'unmountComponentAtNode(): The node you\\\'re attempting to unmount was rendered by another copy of React.'));var b=getTopLevelWrapperInContainer(a);if(!b){var c=hasNonRootReactChild(a),d=1===a.nodeType&&a.hasAttribute(ROOT_ATTR_NAME);return'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(!c,'unmountComponentAtNode(): The node you\\\'re attempting to unmount was rendered by React and is not a top-level container. %s',d?'You may have accidentally passed in a React root node instead of its container.':'Instead, have the parent component update its state and rerender in order to remove this component.')),!1}return delete instancesByReactRootID[b._instance.rootID],ReactUpdates.batchedUpdates(unmountComponentFromNode,b,a,!1),!0},_mountImageIntoNode:function _mountImageIntoNode(a,b,c,d,e){if(isValidContainer(b)?void 0:'production'===process.env.NODE_ENV?_prodInvariant('41'):invariant(!1,'mountComponentIntoNode(...): Target container is not valid.'),d){var f=getReactRootElementInContainer(b);if(ReactMarkupChecksum.canReuseMarkup(a,f))return void ReactDOMComponentTree.precacheNode(c,f);var g=f.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);f.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);var h=f.outerHTML;f.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME,g);var j=a;if('production'!==process.env.NODE_ENV){var k;b.nodeType===ELEMENT_NODE_TYPE?(k=document.createElement('div'),k.innerHTML=a,j=k.innerHTML):(k=document.createElement('iframe'),document.body.appendChild(k),k.contentDocument.write(a),j=k.contentDocument.documentElement.outerHTML,document.body.removeChild(k))}var l=firstDifferenceIndex(j,h),m=' (client) '+j.substring(l-20,l+20)+'\n (server) '+h.substring(l-20,l+20);b.nodeType===DOC_NODE_TYPE?'production'===process.env.NODE_ENV?_prodInvariant('42',m):invariant(!1,'You\'re trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\n%s',m):void 0,'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(!1,'React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:\\n%s',m))}if(b.nodeType===DOC_NODE_TYPE?'production'===process.env.NODE_ENV?_prodInvariant('43'):invariant(!1,'You\'re trying to render a component to the document but you didn\'t use server rendering. We can\'t do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering.'):void 0,e.useCreateElement){for(;b.lastChild;)b.removeChild(b.lastChild);DOMLazyTree.insertTreeBefore(b,a,null)}else setInnerHTML(b,a),ReactDOMComponentTree.precacheNode(c,b.firstChild);if('production'!==process.env.NODE_ENV){var n=ReactDOMComponentTree.getInstanceFromNode(b.firstChild);0!==n._debugID&&ReactInstrumentation.debugTool.onHostOperation({instanceID:n._debugID,type:'mount',payload:a.toString()})}}};module.exports=ReactMount; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) +var ReactDOMSelection=__webpack_require__(135),containsNode=__webpack_require__(95),focusNode=__webpack_require__(54),getActiveElement=__webpack_require__(55);function isInDocument(a){return containsNode(document.documentElement,a)}var ReactInputSelection={hasSelectionCapabilities:function hasSelectionCapabilities(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&('input'===b&&'text'===a.type||'textarea'===b||'true'===a.contentEditable)},getSelectionInformation:function getSelectionInformation(){var a=getActiveElement();return{focusedElem:a,selectionRange:ReactInputSelection.hasSelectionCapabilities(a)?ReactInputSelection.getSelection(a):null}},restoreSelection:function restoreSelection(a){var b=getActiveElement(),c=a.focusedElem,d=a.selectionRange;b!==c&&isInDocument(c)&&(ReactInputSelection.hasSelectionCapabilities(c)&&ReactInputSelection.setSelection(c,d),focusNode(c))},getSelection:function getSelection(a){var b;if('selectionStart'in a)b={start:a.selectionStart,end:a.selectionEnd};else if(document.selection&&a.nodeName&&'input'===a.nodeName.toLowerCase()){var c=document.selection.createRange();c.parentElement()===a&&(b={start:-c.moveStart('character',-a.value.length),end:-c.moveEnd('character',-a.value.length)})}else b=ReactDOMSelection.getOffsets(a);return b||{start:0,end:0}},setSelection:function setSelection(a,b){var c=b.start,d=b.end;if(void 0===d&&(d=c),'selectionStart'in a)a.selectionStart=c,a.selectionEnd=Math.min(d,a.value.length);else if(document.selection&&a.nodeName&&'input'===a.nodeName.toLowerCase()){var e=a.createTextRange();e.collapse(!0),e.moveStart('character',c),e.moveEnd('character',d-c),e.select()}else ReactDOMSelection.setOffsets(a,b)}};module.exports=ReactInputSelection; /***/ }), /* 67 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {var _prodInvariant=__webpack_require__(3),React=__webpack_require__(18),invariant=__webpack_require__(1),ReactNodeTypes={HOST:0,COMPOSITE:1,EMPTY:2,getType:function getType(a){if(null===a||!1===a)return ReactNodeTypes.EMPTY;return React.isValidElement(a)?'function'==typeof a.type?ReactNodeTypes.COMPOSITE:ReactNodeTypes.HOST:void('production'===process.env.NODE_ENV?_prodInvariant('26',a):invariant(!1,'Unexpected node: %s',a))}};module.exports=ReactNodeTypes; +/* WEBPACK VAR INJECTION */(function(process) {var _prodInvariant=__webpack_require__(3),DOMLazyTree=__webpack_require__(17),DOMProperty=__webpack_require__(13),React=__webpack_require__(19),ReactBrowserEventEmitter=__webpack_require__(26),ReactCurrentOwner=__webpack_require__(11),ReactDOMComponentTree=__webpack_require__(5),ReactDOMContainerInfo=__webpack_require__(127),ReactDOMFeatureFlags=__webpack_require__(129),ReactFeatureFlags=__webpack_require__(64),ReactInstanceMap=__webpack_require__(23),ReactInstrumentation=__webpack_require__(9),ReactMarkupChecksum=__webpack_require__(149),ReactReconciler=__webpack_require__(18),ReactUpdateQueue=__webpack_require__(41),ReactUpdates=__webpack_require__(10),emptyObject=__webpack_require__(20),instantiateReactComponent=__webpack_require__(75),invariant=__webpack_require__(1),setInnerHTML=__webpack_require__(30),shouldUpdateReactComponent=__webpack_require__(47),warning=__webpack_require__(2),ATTR_NAME=DOMProperty.ID_ATTRIBUTE_NAME,ROOT_ATTR_NAME=DOMProperty.ROOT_ATTRIBUTE_NAME,ELEMENT_NODE_TYPE=1,DOC_NODE_TYPE=9,DOCUMENT_FRAGMENT_NODE_TYPE=11,instancesByReactRootID={};function firstDifferenceIndex(a,b){for(var c=Math.min(a.length,b.length),d=0;d.':'function'==typeof b?' Instead of passing a class like Foo, pass React.createElement(Foo) or .':null!=b&&void 0!==b.props?' This may be caused by unintentionally loading two independent copies of React.':''):invariant(!1,'ReactDOM.render(): Invalid component element.%s','string'==typeof b?' Instead of passing a string like \\\'div\\\', pass React.createElement(\\\'div\\\') or
.':'function'==typeof b?' Instead of passing a class like Foo, pass React.createElement(Foo) or .':null!=b&&void 0!==b.props?' This may be caused by unintentionally loading two independent copies of React.':''),'production'===process.env.NODE_ENV?void 0:warning(!c||!c.tagName||'BODY'!==c.tagName.toUpperCase(),'render(): Rendering components directly into document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try rendering into a container element created for your app.');var f,e=React.createElement(TopLevelWrapper,{child:b});if(a){var g=ReactInstanceMap.get(a);f=g._processChildContext(g._context)}else f=emptyObject;var h=getTopLevelWrapperInContainer(c);if(h){var j=h._currentElement,k=j.props.child;if(shouldUpdateReactComponent(k,b)){var l=h._renderedComponent.getPublicInstance(),m=d&&function(){d.call(l)};return ReactMount._updateRootComponent(h,e,f,c,m),l}ReactMount.unmountComponentAtNode(c)}var n=getReactRootElementInContainer(c),o=n&&!!internalGetID(n),p=hasNonRootReactChild(c);if('production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(!p,'render(...): Replacing React-rendered children with a new root component. If you intended to update the children of this node, you should instead have the existing children update their state and render the new components instead of calling ReactDOM.render.'),!o||n.nextSibling))for(var q=n;q;){if(internalGetID(q)){'production'===process.env.NODE_ENV?void 0:warning(!1,'render(): Target node has markup rendered by React, but there are unrelated nodes as well. This is most commonly caused by white-space inserted around server-rendered markup.');break}q=q.nextSibling}var s=ReactMount._renderNewRootComponent(e,c,o&&!h&&!p,f)._renderedComponent.getPublicInstance();return d&&d.call(s),s},render:function render(a,b,c){return ReactMount._renderSubtreeIntoContainer(null,a,b,c)},unmountComponentAtNode:function unmountComponentAtNode(a){'production'===process.env.NODE_ENV?void 0:warning(null==ReactCurrentOwner.current,'unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. Check the render method of %s.',ReactCurrentOwner.current&&ReactCurrentOwner.current.getName()||'ReactCompositeComponent'),isValidContainer(a)?void 0:'production'===process.env.NODE_ENV?_prodInvariant('40'):invariant(!1,'unmountComponentAtNode(...): Target container is not a DOM element.'),'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(!nodeIsRenderedByOtherInstance(a),'unmountComponentAtNode(): The node you\\\'re attempting to unmount was rendered by another copy of React.'));var b=getTopLevelWrapperInContainer(a);if(!b){var c=hasNonRootReactChild(a),d=1===a.nodeType&&a.hasAttribute(ROOT_ATTR_NAME);return'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(!c,'unmountComponentAtNode(): The node you\\\'re attempting to unmount was rendered by React and is not a top-level container. %s',d?'You may have accidentally passed in a React root node instead of its container.':'Instead, have the parent component update its state and rerender in order to remove this component.')),!1}return delete instancesByReactRootID[b._instance.rootID],ReactUpdates.batchedUpdates(unmountComponentFromNode,b,a,!1),!0},_mountImageIntoNode:function _mountImageIntoNode(a,b,c,d,e){if(isValidContainer(b)?void 0:'production'===process.env.NODE_ENV?_prodInvariant('41'):invariant(!1,'mountComponentIntoNode(...): Target container is not valid.'),d){var f=getReactRootElementInContainer(b);if(ReactMarkupChecksum.canReuseMarkup(a,f))return void ReactDOMComponentTree.precacheNode(c,f);var g=f.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);f.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);var h=f.outerHTML;f.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME,g);var j=a;if('production'!==process.env.NODE_ENV){var k;b.nodeType===ELEMENT_NODE_TYPE?(k=document.createElement('div'),k.innerHTML=a,j=k.innerHTML):(k=document.createElement('iframe'),document.body.appendChild(k),k.contentDocument.write(a),j=k.contentDocument.documentElement.outerHTML,document.body.removeChild(k))}var l=firstDifferenceIndex(j,h),m=' (client) '+j.substring(l-20,l+20)+'\n (server) '+h.substring(l-20,l+20);b.nodeType===DOC_NODE_TYPE?'production'===process.env.NODE_ENV?_prodInvariant('42',m):invariant(!1,'You\'re trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\n%s',m):void 0,'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning(!1,'React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:\\n%s',m))}if(b.nodeType===DOC_NODE_TYPE?'production'===process.env.NODE_ENV?_prodInvariant('43'):invariant(!1,'You\'re trying to render a component to the document but you didn\'t use server rendering. We can\'t do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering.'):void 0,e.useCreateElement){for(;b.lastChild;)b.removeChild(b.lastChild);DOMLazyTree.insertTreeBefore(b,a,null)}else setInnerHTML(b,a),ReactDOMComponentTree.precacheNode(c,b.firstChild);if('production'!==process.env.NODE_ENV){var n=ReactDOMComponentTree.getInstanceFromNode(b.firstChild);0!==n._debugID&&ReactInstrumentation.debugTool.onHostOperation({instanceID:n._debugID,type:'mount',payload:a.toString()})}}};module.exports=ReactMount; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) /***/ }), @@ -581,57 +581,58 @@ var ReactDOMSelection=__webpack_require__(137),containsNode=__webpack_require__( /***/ (function(module, exports, __webpack_require__) { "use strict"; -var ReactPropTypesSecret='SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';module.exports=ReactPropTypesSecret; +/* WEBPACK VAR INJECTION */(function(process) {var _prodInvariant=__webpack_require__(3),React=__webpack_require__(19),invariant=__webpack_require__(1),ReactNodeTypes={HOST:0,COMPOSITE:1,EMPTY:2,getType:function getType(a){if(null===a||!1===a)return ReactNodeTypes.EMPTY;return React.isValidElement(a)?'function'==typeof a.type?ReactNodeTypes.COMPOSITE:ReactNodeTypes.HOST:void('production'===process.env.NODE_ENV?_prodInvariant('26',a):invariant(!1,'Unexpected node: %s',a))}};module.exports=ReactNodeTypes; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) /***/ }), /* 69 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var ViewportMetrics={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function refreshScrollValues(a){ViewportMetrics.currentScrollLeft=a.x,ViewportMetrics.currentScrollTop=a.y}};module.exports=ViewportMetrics; +var ReactPropTypesSecret='SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';module.exports=ReactPropTypesSecret; /***/ }), /* 70 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {var _prodInvariant=__webpack_require__(3),invariant=__webpack_require__(1);function accumulateInto(a,b){return null==b?'production'===process.env.NODE_ENV?_prodInvariant('30'):invariant(!1,'accumulateInto(...): Accumulated items must not be null or undefined.'):void 0,null==a?b:Array.isArray(a)?Array.isArray(b)?(a.push.apply(a,b),a):(a.push(b),a):Array.isArray(b)?[a].concat(b):[a,b]}module.exports=accumulateInto; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) +var ViewportMetrics={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function refreshScrollValues(a){ViewportMetrics.currentScrollLeft=a.x,ViewportMetrics.currentScrollTop=a.y}};module.exports=ViewportMetrics; /***/ }), /* 71 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -function forEachAccumulated(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}module.exports=forEachAccumulated; +/* WEBPACK VAR INJECTION */(function(process) {var _prodInvariant=__webpack_require__(3),invariant=__webpack_require__(1);function accumulateInto(a,b){return null==b?'production'===process.env.NODE_ENV?_prodInvariant('30'):invariant(!1,'accumulateInto(...): Accumulated items must not be null or undefined.'):void 0,null==a?b:Array.isArray(a)?Array.isArray(b)?(a.push.apply(a,b),a):(a.push(b),a):Array.isArray(b)?[a].concat(b):[a,b]}module.exports=accumulateInto; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) /***/ }), /* 72 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var ReactNodeTypes=__webpack_require__(67);function getHostComponentFromComposite(a){for(var b;(b=a._renderedNodeType)===ReactNodeTypes.COMPOSITE;)a=a._renderedComponent;if(b===ReactNodeTypes.HOST)return a._renderedComponent;return b===ReactNodeTypes.EMPTY?null:void 0}module.exports=getHostComponentFromComposite; +function forEachAccumulated(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}module.exports=forEachAccumulated; /***/ }), /* 73 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var ExecutionEnvironment=__webpack_require__(6),contentKey=null;function getTextContentAccessor(){return!contentKey&&ExecutionEnvironment.canUseDOM&&(contentKey='textContent'in document.documentElement?'textContent':'innerText'),contentKey}module.exports=getTextContentAccessor; +var ReactNodeTypes=__webpack_require__(68);function getHostComponentFromComposite(a){for(var b;(b=a._renderedNodeType)===ReactNodeTypes.COMPOSITE;)a=a._renderedComponent;if(b===ReactNodeTypes.HOST)return a._renderedComponent;return b===ReactNodeTypes.EMPTY?null:void 0}module.exports=getHostComponentFromComposite; /***/ }), /* 74 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var ReactDOMComponentTree=__webpack_require__(5);function isCheckable(a){var b=a.type,c=a.nodeName;return c&&'input'===c.toLowerCase()&&('checkbox'===b||'radio'===b)}function getTracker(a){return a._wrapperState.valueTracker}function attachTracker(a,b){a._wrapperState.valueTracker=b}function detachTracker(a){delete a._wrapperState.valueTracker}function getValueFromNode(a){var b;return a&&(b=isCheckable(a)?''+a.checked:a.value),b}var inputValueTracking={_getTrackerFromNode:function _getTrackerFromNode(a){return getTracker(ReactDOMComponentTree.getInstanceFromNode(a))},track:function track(a){if(!getTracker(a)){var b=ReactDOMComponentTree.getNodeFromInstance(a),c=isCheckable(b)?'checked':'value',d=Object.getOwnPropertyDescriptor(b.constructor.prototype,c),e=''+b[c];b.hasOwnProperty(c)||'function'!=typeof d.get||'function'!=typeof d.set||(Object.defineProperty(b,c,{enumerable:d.enumerable,configurable:!0,get:function get(){return d.get.call(this)},set:function set(f){e=''+f,d.set.call(this,f)}}),attachTracker(a,{getValue:function getValue(){return e},setValue:function setValue(f){e=''+f},stopTracking:function stopTracking(){detachTracker(a),delete b[c]}}))}},updateValueIfChanged:function updateValueIfChanged(a){if(!a)return!1;var b=getTracker(a);if(!b)return inputValueTracking.track(a),!0;var c=b.getValue(),d=getValueFromNode(ReactDOMComponentTree.getNodeFromInstance(a));return d!==c&&(b.setValue(d),!0)},stopTracking:function stopTracking(a){var b=getTracker(a);b&&b.stopTracking()}};module.exports=inputValueTracking; +var ExecutionEnvironment=__webpack_require__(6),contentKey=null;function getTextContentAccessor(){return!contentKey&&ExecutionEnvironment.canUseDOM&&(contentKey='textContent'in document.documentElement?'textContent':'innerText'),contentKey}module.exports=getTextContentAccessor; /***/ }), /* 75 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {var _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&'function'==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?'symbol':typeof a},_prodInvariant=__webpack_require__(3),_assign=__webpack_require__(4),ReactCompositeComponent=__webpack_require__(126),ReactEmptyComponent=__webpack_require__(62),ReactHostComponent=__webpack_require__(64),getNextDebugID=__webpack_require__(194),invariant=__webpack_require__(1),warning=__webpack_require__(2),ReactCompositeComponentWrapper=function(a){this.construct(a)};function getDeclarationErrorAddendum(a){if(a){var b=a.getName();if(b)return' Check the render method of `'+b+'`.'}return''}function isInternalComponentType(a){return'function'==typeof a&&'undefined'!=typeof a.prototype&&'function'==typeof a.prototype.mountComponent&&'function'==typeof a.prototype.receiveComponent}function instantiateReactComponent(a,b){var c;if(null===a||!1===a)c=ReactEmptyComponent.create(instantiateReactComponent);else if('object'===('undefined'==typeof a?'undefined':_typeof(a))){var d=a,e=d.type;if('function'!=typeof e&&'string'!=typeof e){var f='';'production'!==process.env.NODE_ENV&&(void 0===e||'object'===('undefined'==typeof e?'undefined':_typeof(e))&&null!==e&&0===Object.keys(e).length)&&(f+=' You likely forgot to export your component from the file it\\\'s defined in.'),f+=getDeclarationErrorAddendum(d._owner),'production'===process.env.NODE_ENV?_prodInvariant('130',null==e?e:'undefined'==typeof e?'undefined':_typeof(e),f):invariant(!1,'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s',null==e?e:'undefined'==typeof e?'undefined':_typeof(e),f)}'string'==typeof d.type?c=ReactHostComponent.createInternalComponent(d):isInternalComponentType(d.type)?(c=new d.type(d),!c.getHostNode&&(c.getHostNode=c.getNativeNode)):c=new ReactCompositeComponentWrapper(d)}else'string'==typeof a||'number'==typeof a?c=ReactHostComponent.createInstanceForText(a):'production'===process.env.NODE_ENV?_prodInvariant('131','undefined'==typeof a?'undefined':_typeof(a)):invariant(!1,'Encountered invalid React node of type %s','undefined'==typeof a?'undefined':_typeof(a));return'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning('function'==typeof c.mountComponent&&'function'==typeof c.receiveComponent&&'function'==typeof c.getHostNode&&'function'==typeof c.unmountComponent,'Only React Components can be mounted.')),c._mountIndex=0,c._mountImage=null,'production'!==process.env.NODE_ENV&&(c._debugID=b?getNextDebugID():0),'production'!==process.env.NODE_ENV&&Object.preventExtensions&&Object.preventExtensions(c),c}_assign(ReactCompositeComponentWrapper.prototype,ReactCompositeComponent,{_instantiateReactComponent:instantiateReactComponent}),module.exports=instantiateReactComponent; +/* WEBPACK VAR INJECTION */(function(process) {var _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&'function'==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?'symbol':typeof a},_prodInvariant=__webpack_require__(3),_assign=__webpack_require__(4),ReactCompositeComponent=__webpack_require__(124),ReactEmptyComponent=__webpack_require__(63),ReactHostComponent=__webpack_require__(65),getNextDebugID=__webpack_require__(192),invariant=__webpack_require__(1),warning=__webpack_require__(2),ReactCompositeComponentWrapper=function(a){this.construct(a)};function getDeclarationErrorAddendum(a){if(a){var b=a.getName();if(b)return' Check the render method of `'+b+'`.'}return''}function isInternalComponentType(a){return'function'==typeof a&&'undefined'!=typeof a.prototype&&'function'==typeof a.prototype.mountComponent&&'function'==typeof a.prototype.receiveComponent}function instantiateReactComponent(a,b){var c;if(null===a||!1===a)c=ReactEmptyComponent.create(instantiateReactComponent);else if('object'===('undefined'==typeof a?'undefined':_typeof(a))){var d=a,e=d.type;if('function'!=typeof e&&'string'!=typeof e){var f='';'production'!==process.env.NODE_ENV&&(void 0===e||'object'===('undefined'==typeof e?'undefined':_typeof(e))&&null!==e&&0===Object.keys(e).length)&&(f+=' You likely forgot to export your component from the file it\\\'s defined in.'),f+=getDeclarationErrorAddendum(d._owner),'production'===process.env.NODE_ENV?_prodInvariant('130',null==e?e:'undefined'==typeof e?'undefined':_typeof(e),f):invariant(!1,'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s',null==e?e:'undefined'==typeof e?'undefined':_typeof(e),f)}'string'==typeof d.type?c=ReactHostComponent.createInternalComponent(d):isInternalComponentType(d.type)?(c=new d.type(d),!c.getHostNode&&(c.getHostNode=c.getNativeNode)):c=new ReactCompositeComponentWrapper(d)}else'string'==typeof a||'number'==typeof a?c=ReactHostComponent.createInstanceForText(a):'production'===process.env.NODE_ENV?_prodInvariant('131','undefined'==typeof a?'undefined':_typeof(a)):invariant(!1,'Encountered invalid React node of type %s','undefined'==typeof a?'undefined':_typeof(a));return'production'!==process.env.NODE_ENV&&('production'===process.env.NODE_ENV?void 0:warning('function'==typeof c.mountComponent&&'function'==typeof c.receiveComponent&&'function'==typeof c.getHostNode&&'function'==typeof c.unmountComponent,'Only React Components can be mounted.')),c._mountIndex=0,c._mountImage=null,'production'!==process.env.NODE_ENV&&(c._debugID=b?getNextDebugID():0),'production'!==process.env.NODE_ENV&&Object.preventExtensions&&Object.preventExtensions(c),c}_assign(ReactCompositeComponentWrapper.prototype,ReactCompositeComponent,{_instantiateReactComponent:instantiateReactComponent}),module.exports=instantiateReactComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) /***/ }), @@ -639,7 +640,7 @@ var ReactDOMComponentTree=__webpack_require__(5);function isCheckable(a){var b=a /***/ (function(module, exports, __webpack_require__) { "use strict"; -var supportedInputTypes={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function isTextInputElement(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return'input'===b?!!supportedInputTypes[a.type]:!('textarea'!==b)}module.exports=isTextInputElement; +var supportedInputTypes={color:!0,date:!0,datetime:!0,'datetime-local':!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function isTextInputElement(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return'input'===b?!!supportedInputTypes[a.type]:!('textarea'!==b)}module.exports=isTextInputElement; /***/ }), /* 77 */ @@ -653,7 +654,7 @@ var ExecutionEnvironment=__webpack_require__(6),escapeTextContentForBrowser=__we /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {var _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&'function'==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?'symbol':typeof a},_prodInvariant=__webpack_require__(3),ReactCurrentOwner=__webpack_require__(11),REACT_ELEMENT_TYPE=__webpack_require__(145),getIteratorFn=__webpack_require__(179),invariant=__webpack_require__(1),KeyEscapeUtils=__webpack_require__(37),warning=__webpack_require__(2),SEPARATOR='.',SUBSEPARATOR=':',didWarnAboutMaps=!1;function getComponentKey(a,b){return a&&'object'===('undefined'==typeof a?'undefined':_typeof(a))&&null!=a.key?KeyEscapeUtils.escape(a.key):b.toString(36)}function traverseAllChildrenImpl(a,b,c,d){var e='undefined'==typeof a?'undefined':_typeof(a);if(('undefined'===e||'boolean'===e)&&(a=null),null===a||'string'===e||'number'===e||'object'===e&&a.$$typeof===REACT_ELEMENT_TYPE)return c(d,a,''===b?SEPARATOR+getComponentKey(a,0):b),1;var f,g,h=0,j=''===b?SEPARATOR:b+SUBSEPARATOR;if(Array.isArray(a))for(var k=0;k.')}return b}function validateExplicitKey(a,b){if(a._store&&!a._store.validated&&null==a.key){a._store.validated=!0;var c=ownerHasKeyUseWarning.uniqueKey||(ownerHasKeyUseWarning.uniqueKey={}),d=getCurrentComponentErrorInfo(b);if(!c[d]){c[d]=!0;var e='';a&&a._owner&&a._owner!==ReactCurrentOwner.current&&(e=' It was passed a child from '+a._owner.getName()+'.'),'production'===process.env.NODE_ENV?void 0:warning(!1,'Each child in an array or iterator should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.%s',d,e,ReactComponentTreeHook.getCurrentStackAddendum(a))}}}function validateChildKeys(a,b){if('object'===('undefined'==typeof a?'undefined':_typeof(a)))if(Array.isArray(a))for(var d,c=0;c.')}return b}function validateExplicitKey(a,b){if(a._store&&!a._store.validated&&null==a.key){a._store.validated=!0;var c=ownerHasKeyUseWarning.uniqueKey||(ownerHasKeyUseWarning.uniqueKey={}),d=getCurrentComponentErrorInfo(b);if(!c[d]){c[d]=!0;var e='';a&&a._owner&&a._owner!==ReactCurrentOwner.current&&(e=' It was passed a child from '+a._owner.getName()+'.'),'production'===process.env.NODE_ENV?void 0:warning(!1,'Each child in an array or iterator should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.%s',d,e,ReactComponentTreeHook.getCurrentStackAddendum(a))}}}function validateChildKeys(a,b){if('object'===('undefined'==typeof a?'undefined':_typeof(a)))if(Array.isArray(a))for(var d,c=0;c=o&&m<=p&&n>=q&&n<=r},d),_possibleConstructorReturn(f,g)}return _inherits(b,a),b}(_react2.default.Component);TableDragSelect.propTypes={value:function value(a){var b=new Error("Invalid prop `value` supplied to `TableDragSelect`. Validation failed.");if(!Array.isArray(a.value))return b;if(0!==a.value.length){var c=a.value[0].length,d=!0,f=!1,g=void 0;try{for(var k,q,h=a.value[Symbol.iterator]();!(d=(k=h.next()).done);d=!0){if(q=k.value,!Array.isArray(q)||q.length!==c)return b;var l=!0,m=!1,n=void 0;try{for(var p,r,o=q[Symbol.iterator]();!(l=(p=o.next()).done);l=!0)if(r=p.value,"boolean"!=typeof r)return b}catch(r){m=!0,n=r}finally{try{!l&&o.return&&o.return()}finally{if(m)throw n}}}}catch(q){f=!0,g=q}finally{try{!d&&h.return&&h.return()}finally{if(f)throw g}}}},maxRows:_propTypes2.default.number,maxColumns:_propTypes2.default.number,onSelectionStart:_propTypes2.default.func,onInput:_propTypes2.default.func,onChange:_propTypes2.default.func,children:function children(a){if(!TableDragSelect.propTypes.value(a)){var b=new Error("Invalid prop `children` supplied to `TableDragSelect`. Validation failed."),c=_react2.default.Children.toArray(a.children),d=a.value.length,f=0===a.value.length?0:a.value[0].length;if(c.length!==d)return b;var g=!0,h=!1,k=void 0;try{for(var m,l=c[Symbol.iterator]();!(g=(m=l.next()).done);g=!0){var s=m.value,t=_react2.default.Children.toArray(s.props.children);if("tr"!==s.type||t.length!==f)return b;var n=!0,o=!1,p=void 0;try{for(var r,u,q=t[Symbol.iterator]();!(n=(r=q.next()).done);n=!0)if(u=r.value,"td"!==u.type)return b}catch(u){o=!0,p=u}finally{try{!n&&q.return&&q.return()}finally{if(o)throw p}}}}catch(s){h=!0,k=s}finally{try{!g&&l.return&&l.return()}finally{if(h)throw k}}}}},TableDragSelect.defaultProps={value:[],maxRows:Infinity,maxColumns:Infinity,onSelectionStart:function onSelectionStart(){},onInput:function onInput(){},onChange:function onChange(){}},exports.default=TableDragSelect;var Cell=function(a){function b(){var c,d,f,g;_classCallCheck(this,b);for(var h=arguments.length,k=Array(h),l=0;l=o&&m<=p&&n>=q&&n<=r},d),_possibleConstructorReturn(f,g)}return _inherits(b,a),b}(_react2.default.Component);TableDragSelect.propTypes={value:function value(a){var b=new Error("Invalid prop `value` supplied to `TableDragSelect`. Validation failed.");if(!Array.isArray(a.value))return b;if(0!==a.value.length){var c=a.value[0].length,d=void 0!==a.classNameMap,f=!0,g=!1,h=void 0;try{for(var l,r,k=a.value[Symbol.iterator]();!(f=(l=k.next()).done);f=!0){if(r=l.value,!Array.isArray(r)||r.length!==c)return b;var m=!0,n=!1,o=void 0;try{for(var q,s,p=r[Symbol.iterator]();!(m=(q=p.next()).done);m=!0){if(s=q.value,d)return void 0===a.classNameMap[s]?b:void 0;if("boolean"!=typeof s)return b}}catch(s){n=!0,o=s}finally{try{!m&&p.return&&p.return()}finally{if(n)throw o}}}}catch(r){g=!0,h=r}finally{try{!f&&k.return&&k.return()}finally{if(g)throw h}}}},classNameMap:_propTypes2.default.objectOf(_propTypes2.default.string),setValue:function setValue(a){var b=a.classNameMap!==void 0;return b?void 0===a.classNameMap[a.setValue]?new Error("Invalid prop `setValue` supplied to `TableDragSelect`, must be represented in `classNameMap`"):void 0:void 0===a.setValue||"boolean"==typeof a.setValue?void 0:new Error("Invalid prop `setValue` supplied to `TableDragSelect`, must be represented in `classNameMap` or be boolean")},maxRows:_propTypes2.default.number,maxColumns:_propTypes2.default.number,onSelectionStart:_propTypes2.default.func,onInput:_propTypes2.default.func,onChange:_propTypes2.default.func,children:function children(a){if(!TableDragSelect.propTypes.value(a)){var b=new Error("Invalid prop `children` supplied to `TableDragSelect`. Validation failed."),c=_react2.default.Children.toArray(a.children),d=a.value.length,f=0===a.value.length?0:a.value[0].length;if(c.length!==d)return b;var g=!0,h=!1,k=void 0;try{for(var m,l=c[Symbol.iterator]();!(g=(m=l.next()).done);g=!0){var s=m.value,t=_react2.default.Children.toArray(s.props.children);if("tr"!==s.type||t.length!==f)return b;var n=!0,o=!1,p=void 0;try{for(var r,u,q=t[Symbol.iterator]();!(n=(r=q.next()).done);n=!0)if(u=r.value,"td"!==u.type)return b}catch(u){o=!0,p=u}finally{try{!n&&q.return&&q.return()}finally{if(o)throw p}}}}catch(s){h=!0,k=s}finally{try{!g&&l.return&&l.return()}finally{if(h)throw k}}}}},TableDragSelect.defaultProps={value:[],maxRows:Infinity,maxColumns:Infinity,onSelectionStart:function onSelectionStart(){},onInput:function onInput(){},onChange:function onChange(){}},exports.default=TableDragSelect;var Cell=function(a){function b(){var c,d,f,g;_classCallCheck(this,b);for(var h=arguments.length,k=Array(h),l=0;l tag // load the styles -var content = __webpack_require__(200); +var content = __webpack_require__(198); if(typeof content === 'string') content = [[module.i, content, '']]; // Prepare cssTransformation var transform; @@ -1043,7 +1036,7 @@ var transform; var options = {} options.transform = transform // add the styles to the DOM -var update = __webpack_require__(84)(content, options); +var update = __webpack_require__(83)(content, options); if(content.locals) module.exports = content.locals; // Hot Module Replacement if(false) { @@ -1060,13 +1053,13 @@ if(false) { } /***/ }), -/* 89 */ +/* 88 */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a