diff --git a/.gitignore b/.gitignore index 15de3902..9c9c8cf0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules data +tools diff --git a/article.js b/article.js index 8cfee964..0e38bf5c 100644 --- a/article.js +++ b/article.js @@ -44,33 +44,38 @@ /* 0 */ /***/ function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(1); + module.exports = __webpack_require__(6); /***/ }, -/* 1 */ +/* 1 */, +/* 2 */, +/* 3 */, +/* 4 */, +/* 5 */, +/* 6 */ /***/ function(module, exports, __webpack_require__) { "use strict"; - var React = __webpack_require__(2); - var ReactDOM = __webpack_require__(159); - var Article = __webpack_require__(160); - var style = __webpack_require__(177); + var React = __webpack_require__(7); + var ReactDOM = __webpack_require__(164); + var Article = __webpack_require__(165); + var style = __webpack_require__(184); ReactDOM.render(React.createElement(Article, null), document.getElementById("article")); /***/ }, -/* 2 */ +/* 7 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - module.exports = __webpack_require__(3); + module.exports = __webpack_require__(8); /***/ }, -/* 3 */ +/* 8 */ /***/ function(module, exports, __webpack_require__) { /** @@ -86,12 +91,12 @@ 'use strict'; - var ReactDOM = __webpack_require__(4); - var ReactDOMServer = __webpack_require__(149); - var ReactIsomorphic = __webpack_require__(153); + var ReactDOM = __webpack_require__(9); + var ReactDOMServer = __webpack_require__(154); + var ReactIsomorphic = __webpack_require__(158); - var assign = __webpack_require__(40); - var deprecated = __webpack_require__(158); + var assign = __webpack_require__(45); + var deprecated = __webpack_require__(163); // `version` will be added here by ReactIsomorphic. var React = {}; @@ -115,7 +120,7 @@ module.exports = React; /***/ }, -/* 4 */ +/* 9 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -133,19 +138,19 @@ 'use strict'; - var ReactCurrentOwner = __webpack_require__(6); - var ReactDOMTextComponent = __webpack_require__(7); - var ReactDefaultInjection = __webpack_require__(72); - var ReactInstanceHandles = __webpack_require__(46); - var ReactMount = __webpack_require__(29); - var ReactPerf = __webpack_require__(19); - var ReactReconciler = __webpack_require__(51); - var ReactUpdates = __webpack_require__(55); - var ReactVersion = __webpack_require__(147); + var ReactCurrentOwner = __webpack_require__(11); + var ReactDOMTextComponent = __webpack_require__(12); + var ReactDefaultInjection = __webpack_require__(77); + var ReactInstanceHandles = __webpack_require__(51); + var ReactMount = __webpack_require__(34); + var ReactPerf = __webpack_require__(24); + var ReactReconciler = __webpack_require__(56); + var ReactUpdates = __webpack_require__(60); + var ReactVersion = __webpack_require__(152); - var findDOMNode = __webpack_require__(92); - var renderSubtreeIntoContainer = __webpack_require__(148); - var warning = __webpack_require__(26); + var findDOMNode = __webpack_require__(97); + var renderSubtreeIntoContainer = __webpack_require__(153); + var warning = __webpack_require__(31); ReactDefaultInjection.inject(); @@ -176,7 +181,7 @@ } if (process.env.NODE_ENV !== 'production') { - var ExecutionEnvironment = __webpack_require__(10); + var ExecutionEnvironment = __webpack_require__(15); if (ExecutionEnvironment.canUseDOM && window.top === window.self) { // First check if devtools is not installed @@ -210,10 +215,10 @@ } module.exports = React; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 5 */ +/* 10 */ /***/ function(module, exports) { // shim for using process in browser @@ -310,7 +315,7 @@ /***/ }, -/* 6 */ +/* 11 */ /***/ function(module, exports) { /** @@ -345,7 +350,7 @@ module.exports = ReactCurrentOwner; /***/ }, -/* 7 */ +/* 12 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -362,15 +367,15 @@ 'use strict'; - var DOMChildrenOperations = __webpack_require__(8); - var DOMPropertyOperations = __webpack_require__(23); - var ReactComponentBrowserEnvironment = __webpack_require__(27); - var ReactMount = __webpack_require__(29); + var DOMChildrenOperations = __webpack_require__(13); + var DOMPropertyOperations = __webpack_require__(28); + var ReactComponentBrowserEnvironment = __webpack_require__(32); + var ReactMount = __webpack_require__(34); - var assign = __webpack_require__(40); - var escapeTextContentForBrowser = __webpack_require__(22); - var setTextContent = __webpack_require__(21); - var validateDOMNesting = __webpack_require__(71); + var assign = __webpack_require__(45); + var escapeTextContentForBrowser = __webpack_require__(27); + var setTextContent = __webpack_require__(26); + var validateDOMNesting = __webpack_require__(76); /** * Text nodes violate a couple assumptions that React makes about components: @@ -475,10 +480,10 @@ }); module.exports = ReactDOMTextComponent; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 8 */ +/* 13 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -495,13 +500,13 @@ 'use strict'; - var Danger = __webpack_require__(9); - var ReactMultiChildUpdateTypes = __webpack_require__(17); - var ReactPerf = __webpack_require__(19); + var Danger = __webpack_require__(14); + var ReactMultiChildUpdateTypes = __webpack_require__(22); + var ReactPerf = __webpack_require__(24); - var setInnerHTML = __webpack_require__(20); - var setTextContent = __webpack_require__(21); - var invariant = __webpack_require__(14); + var setInnerHTML = __webpack_require__(25); + var setTextContent = __webpack_require__(26); + var invariant = __webpack_require__(19); /** * Inserts `childNode` as a child of `parentNode` at the `index`. @@ -610,10 +615,10 @@ }); module.exports = DOMChildrenOperations; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 9 */ +/* 14 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -630,12 +635,12 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(10); + var ExecutionEnvironment = __webpack_require__(15); - var createNodesFromMarkup = __webpack_require__(11); - var emptyFunction = __webpack_require__(16); - var getMarkupWrap = __webpack_require__(15); - var invariant = __webpack_require__(14); + var createNodesFromMarkup = __webpack_require__(16); + var emptyFunction = __webpack_require__(21); + var getMarkupWrap = __webpack_require__(20); + var invariant = __webpack_require__(19); var OPEN_TAG_NAME_EXP = /^(<[^ \/>]+)/; var RESULT_INDEX_ATTR = 'data-danger-index'; @@ -761,10 +766,10 @@ }; module.exports = Danger; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 10 */ +/* 15 */ /***/ function(module, exports) { /** @@ -805,7 +810,7 @@ module.exports = ExecutionEnvironment; /***/ }, -/* 11 */ +/* 16 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -824,11 +829,11 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(10); + var ExecutionEnvironment = __webpack_require__(15); - var createArrayFromMixed = __webpack_require__(12); - var getMarkupWrap = __webpack_require__(15); - var invariant = __webpack_require__(14); + var createArrayFromMixed = __webpack_require__(17); + var getMarkupWrap = __webpack_require__(20); + var invariant = __webpack_require__(19); /** * Dummy container used to render all markup. @@ -892,10 +897,10 @@ } module.exports = createNodesFromMarkup; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 12 */ +/* 17 */ /***/ function(module, exports, __webpack_require__) { /** @@ -912,7 +917,7 @@ 'use strict'; - var toArray = __webpack_require__(13); + var toArray = __webpack_require__(18); /** * Perform a heuristic test to determine if an object is "array-like". @@ -985,7 +990,7 @@ module.exports = createArrayFromMixed; /***/ }, -/* 13 */ +/* 18 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1002,7 +1007,7 @@ 'use strict'; - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * Convert array-like objects to arrays. @@ -1045,10 +1050,10 @@ } module.exports = toArray; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 14 */ +/* 19 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1075,7 +1080,7 @@ * will remain to ensure logic does not differ in production. */ - var invariant = function (condition, format, a, b, c, d, e, f) { + function invariant(condition, format, a, b, c, d, e, f) { if (process.env.NODE_ENV !== 'production') { if (format === undefined) { throw new Error('invariant requires an error message argument'); @@ -1089,21 +1094,22 @@ } else { var args = [a, b, c, d, e, f]; var argIndex = 0; - error = new Error('Invariant Violation: ' + format.replace(/%s/g, function () { + error = new Error(format.replace(/%s/g, function () { return args[argIndex++]; })); + error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } - }; + } module.exports = invariant; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 15 */ +/* 20 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1121,9 +1127,9 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(10); + var ExecutionEnvironment = __webpack_require__(15); - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * Dummy container used to detect which wraps are necessary. @@ -1201,10 +1207,10 @@ } module.exports = getMarkupWrap; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 16 */ +/* 21 */ /***/ function(module, exports) { /** @@ -1247,7 +1253,7 @@ module.exports = emptyFunction; /***/ }, -/* 17 */ +/* 22 */ /***/ function(module, exports, __webpack_require__) { /** @@ -1263,7 +1269,7 @@ 'use strict'; - var keyMirror = __webpack_require__(18); + var keyMirror = __webpack_require__(23); /** * When a component's children are updated, a series of update configuration @@ -1284,7 +1290,7 @@ module.exports = ReactMultiChildUpdateTypes; /***/ }, -/* 18 */ +/* 23 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1301,7 +1307,7 @@ 'use strict'; - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * Constructs an enumeration with keys equal to their value. @@ -1335,10 +1341,10 @@ }; module.exports = keyMirror; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 19 */ +/* 24 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1437,10 +1443,10 @@ } module.exports = ReactPerf; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 20 */ +/* 25 */ /***/ function(module, exports, __webpack_require__) { /** @@ -1458,7 +1464,7 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(10); + var ExecutionEnvironment = __webpack_require__(15); var WHITESPACE_TEST = /^[ \r\n\t\f]/; var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; @@ -1535,7 +1541,7 @@ module.exports = setInnerHTML; /***/ }, -/* 21 */ +/* 26 */ /***/ function(module, exports, __webpack_require__) { /** @@ -1551,9 +1557,9 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(10); - var escapeTextContentForBrowser = __webpack_require__(22); - var setInnerHTML = __webpack_require__(20); + var ExecutionEnvironment = __webpack_require__(15); + var escapeTextContentForBrowser = __webpack_require__(27); + var setInnerHTML = __webpack_require__(25); /** * Set the textContent property of a node, ensuring that whitespace is preserved @@ -1580,7 +1586,7 @@ module.exports = setTextContent; /***/ }, -/* 22 */ +/* 27 */ /***/ function(module, exports) { /** @@ -1623,7 +1629,7 @@ module.exports = escapeTextContentForBrowser; /***/ }, -/* 23 */ +/* 28 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1640,11 +1646,11 @@ 'use strict'; - var DOMProperty = __webpack_require__(24); - var ReactPerf = __webpack_require__(19); + var DOMProperty = __webpack_require__(29); + var ReactPerf = __webpack_require__(24); - var quoteAttributeValueForBrowser = __webpack_require__(25); - var warning = __webpack_require__(26); + var quoteAttributeValueForBrowser = __webpack_require__(30); + var warning = __webpack_require__(31); // Simplified subset var VALID_ATTRIBUTE_NAME_REGEX = /^[a-zA-Z_][\w\.\-]*$/; @@ -1851,10 +1857,10 @@ }); module.exports = DOMPropertyOperations; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 24 */ +/* 29 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1871,7 +1877,7 @@ 'use strict'; - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); function checkMask(value, bitmask) { return (value & bitmask) === bitmask; @@ -2091,10 +2097,10 @@ }; module.exports = DOMProperty; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 25 */ +/* 30 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2110,7 +2116,7 @@ 'use strict'; - var escapeTextContentForBrowser = __webpack_require__(22); + var escapeTextContentForBrowser = __webpack_require__(27); /** * Escapes attribute value to prevent scripting attacks. @@ -2125,7 +2131,7 @@ module.exports = quoteAttributeValueForBrowser; /***/ }, -/* 26 */ +/* 31 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -2141,7 +2147,7 @@ 'use strict'; - var emptyFunction = __webpack_require__(16); + var emptyFunction = __webpack_require__(21); /** * Similar to invariant but only logs a warning if the condition is not met. @@ -2185,10 +2191,10 @@ } module.exports = warning; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 27 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2204,8 +2210,8 @@ 'use strict'; - var ReactDOMIDOperations = __webpack_require__(28); - var ReactMount = __webpack_require__(29); + var ReactDOMIDOperations = __webpack_require__(33); + var ReactMount = __webpack_require__(34); /** * Abstracts away all functionality of the reconciler that requires knowledge of @@ -2234,7 +2240,7 @@ module.exports = ReactComponentBrowserEnvironment; /***/ }, -/* 28 */ +/* 33 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -2251,12 +2257,12 @@ 'use strict'; - var DOMChildrenOperations = __webpack_require__(8); - var DOMPropertyOperations = __webpack_require__(23); - var ReactMount = __webpack_require__(29); - var ReactPerf = __webpack_require__(19); + var DOMChildrenOperations = __webpack_require__(13); + var DOMPropertyOperations = __webpack_require__(28); + var ReactMount = __webpack_require__(34); + var ReactPerf = __webpack_require__(24); - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * Errors for properties that should not be updated with `updatePropertyByID()`. @@ -2331,10 +2337,10 @@ }); module.exports = ReactDOMIDOperations; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 29 */ +/* 34 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -2350,29 +2356,29 @@ 'use strict'; - var DOMProperty = __webpack_require__(24); - var ReactBrowserEventEmitter = __webpack_require__(30); - var ReactCurrentOwner = __webpack_require__(6); - var ReactDOMFeatureFlags = __webpack_require__(42); - var ReactElement = __webpack_require__(43); - var ReactEmptyComponentRegistry = __webpack_require__(45); - var ReactInstanceHandles = __webpack_require__(46); - var ReactInstanceMap = __webpack_require__(48); - var ReactMarkupChecksum = __webpack_require__(49); - var ReactPerf = __webpack_require__(19); - var ReactReconciler = __webpack_require__(51); - var ReactUpdateQueue = __webpack_require__(54); - var ReactUpdates = __webpack_require__(55); + var DOMProperty = __webpack_require__(29); + var ReactBrowserEventEmitter = __webpack_require__(35); + var ReactCurrentOwner = __webpack_require__(11); + var ReactDOMFeatureFlags = __webpack_require__(47); + var ReactElement = __webpack_require__(48); + var ReactEmptyComponentRegistry = __webpack_require__(50); + var ReactInstanceHandles = __webpack_require__(51); + var ReactInstanceMap = __webpack_require__(53); + var ReactMarkupChecksum = __webpack_require__(54); + var ReactPerf = __webpack_require__(24); + var ReactReconciler = __webpack_require__(56); + var ReactUpdateQueue = __webpack_require__(59); + var ReactUpdates = __webpack_require__(60); - var assign = __webpack_require__(40); - var emptyObject = __webpack_require__(59); - var containsNode = __webpack_require__(60); - var instantiateReactComponent = __webpack_require__(63); - var invariant = __webpack_require__(14); - var setInnerHTML = __webpack_require__(20); - var shouldUpdateReactComponent = __webpack_require__(68); - var validateDOMNesting = __webpack_require__(71); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var emptyObject = __webpack_require__(64); + var containsNode = __webpack_require__(65); + var instantiateReactComponent = __webpack_require__(68); + var invariant = __webpack_require__(19); + var setInnerHTML = __webpack_require__(25); + var shouldUpdateReactComponent = __webpack_require__(73); + var validateDOMNesting = __webpack_require__(76); + var warning = __webpack_require__(31); var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; var nodeCache = {}; @@ -3187,10 +3193,10 @@ }); module.exports = ReactMount; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 30 */ +/* 35 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3207,15 +3213,15 @@ 'use strict'; - var EventConstants = __webpack_require__(31); - var EventPluginHub = __webpack_require__(32); - var EventPluginRegistry = __webpack_require__(33); - var ReactEventEmitterMixin = __webpack_require__(38); - var ReactPerf = __webpack_require__(19); - var ViewportMetrics = __webpack_require__(39); + var EventConstants = __webpack_require__(36); + var EventPluginHub = __webpack_require__(37); + var EventPluginRegistry = __webpack_require__(38); + var ReactEventEmitterMixin = __webpack_require__(43); + var ReactPerf = __webpack_require__(24); + var ViewportMetrics = __webpack_require__(44); - var assign = __webpack_require__(40); - var isEventSupported = __webpack_require__(41); + var assign = __webpack_require__(45); + var isEventSupported = __webpack_require__(46); /** * Summary of `ReactBrowserEventEmitter` event handling: @@ -3519,7 +3525,7 @@ module.exports = ReactBrowserEventEmitter; /***/ }, -/* 31 */ +/* 36 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3535,7 +3541,7 @@ 'use strict'; - var keyMirror = __webpack_require__(18); + var keyMirror = __webpack_require__(23); var PropagationPhases = keyMirror({ bubbled: null, captured: null }); @@ -3616,7 +3622,7 @@ module.exports = EventConstants; /***/ }, -/* 32 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -3632,14 +3638,14 @@ 'use strict'; - var EventPluginRegistry = __webpack_require__(33); - var EventPluginUtils = __webpack_require__(34); - var ReactErrorUtils = __webpack_require__(35); + var EventPluginRegistry = __webpack_require__(38); + var EventPluginUtils = __webpack_require__(39); + var ReactErrorUtils = __webpack_require__(40); - var accumulateInto = __webpack_require__(36); - var forEachAccumulated = __webpack_require__(37); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var accumulateInto = __webpack_require__(41); + var forEachAccumulated = __webpack_require__(42); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); /** * Internal store for event listeners @@ -3898,10 +3904,10 @@ }; module.exports = EventPluginHub; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 33 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -3918,7 +3924,7 @@ 'use strict'; - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * Injectable ordering of event plugins. @@ -4124,10 +4130,10 @@ }; module.exports = EventPluginRegistry; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 34 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -4143,11 +4149,11 @@ 'use strict'; - var EventConstants = __webpack_require__(31); - var ReactErrorUtils = __webpack_require__(35); + var EventConstants = __webpack_require__(36); + var ReactErrorUtils = __webpack_require__(40); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); /** * Injected dependencies: @@ -4332,10 +4338,10 @@ }; module.exports = EventPluginUtils; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 35 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -4415,10 +4421,10 @@ } module.exports = ReactErrorUtils; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 36 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -4434,7 +4440,7 @@ 'use strict'; - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * @@ -4480,10 +4486,10 @@ } module.exports = accumulateInto; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 37 */ +/* 42 */ /***/ function(module, exports) { /** @@ -4517,7 +4523,7 @@ module.exports = forEachAccumulated; /***/ }, -/* 38 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4533,7 +4539,7 @@ 'use strict'; - var EventPluginHub = __webpack_require__(32); + var EventPluginHub = __webpack_require__(37); function runEventQueueInBatch(events) { EventPluginHub.enqueueEvents(events); @@ -4560,7 +4566,7 @@ module.exports = ReactEventEmitterMixin; /***/ }, -/* 39 */ +/* 44 */ /***/ function(module, exports) { /** @@ -4592,7 +4598,7 @@ module.exports = ViewportMetrics; /***/ }, -/* 40 */ +/* 45 */ /***/ function(module, exports) { /** @@ -4644,7 +4650,7 @@ module.exports = assign; /***/ }, -/* 41 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4660,7 +4666,7 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(10); + var ExecutionEnvironment = __webpack_require__(15); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { @@ -4709,7 +4715,7 @@ module.exports = isEventSupported; /***/ }, -/* 42 */ +/* 47 */ /***/ function(module, exports) { /** @@ -4732,7 +4738,7 @@ module.exports = ReactDOMFeatureFlags; /***/ }, -/* 43 */ +/* 48 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -4748,10 +4754,10 @@ 'use strict'; - var ReactCurrentOwner = __webpack_require__(6); + var ReactCurrentOwner = __webpack_require__(11); - var assign = __webpack_require__(40); - var canDefineProperty = __webpack_require__(44); + var assign = __webpack_require__(45); + var canDefineProperty = __webpack_require__(49); // The Symbol used to tag the ReactElement type. If there is no native Symbol // nor polyfill, then a plain number is used for performance. @@ -4982,10 +4988,10 @@ }; module.exports = ReactElement; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 44 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -5012,10 +5018,10 @@ } module.exports = canDefineProperty; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 45 */ +/* 50 */ /***/ function(module, exports) { /** @@ -5068,7 +5074,7 @@ module.exports = ReactEmptyComponentRegistry; /***/ }, -/* 46 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -5085,9 +5091,9 @@ 'use strict'; - var ReactRootIndex = __webpack_require__(47); + var ReactRootIndex = __webpack_require__(52); - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); var SEPARATOR = '.'; var SEPARATOR_LENGTH = SEPARATOR.length; @@ -5373,10 +5379,10 @@ }; module.exports = ReactInstanceHandles; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 47 */ +/* 52 */ /***/ function(module, exports) { /** @@ -5410,7 +5416,7 @@ module.exports = ReactRootIndex; /***/ }, -/* 48 */ +/* 53 */ /***/ function(module, exports) { /** @@ -5462,7 +5468,7 @@ module.exports = ReactInstanceMap; /***/ }, -/* 49 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5478,7 +5484,7 @@ 'use strict'; - var adler32 = __webpack_require__(50); + var adler32 = __webpack_require__(55); var TAG_END = /\/?>/; @@ -5512,7 +5518,7 @@ module.exports = ReactMarkupChecksum; /***/ }, -/* 50 */ +/* 55 */ /***/ function(module, exports) { /** @@ -5559,7 +5565,7 @@ module.exports = adler32; /***/ }, -/* 51 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5575,7 +5581,7 @@ 'use strict'; - var ReactRef = __webpack_require__(52); + var ReactRef = __webpack_require__(57); /** * Helper to call ReactRef.attachRefs with this composite component, split out @@ -5671,7 +5677,7 @@ module.exports = ReactReconciler; /***/ }, -/* 52 */ +/* 57 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5687,7 +5693,7 @@ 'use strict'; - var ReactOwner = __webpack_require__(53); + var ReactOwner = __webpack_require__(58); var ReactRef = {}; @@ -5754,7 +5760,7 @@ module.exports = ReactRef; /***/ }, -/* 53 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -5770,7 +5776,7 @@ 'use strict'; - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * ReactOwners are capable of storing references to owned components. @@ -5848,10 +5854,10 @@ }; module.exports = ReactOwner; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 54 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -5867,14 +5873,14 @@ 'use strict'; - var ReactCurrentOwner = __webpack_require__(6); - var ReactElement = __webpack_require__(43); - var ReactInstanceMap = __webpack_require__(48); - var ReactUpdates = __webpack_require__(55); + var ReactCurrentOwner = __webpack_require__(11); + var ReactElement = __webpack_require__(48); + var ReactInstanceMap = __webpack_require__(53); + var ReactUpdates = __webpack_require__(60); - var assign = __webpack_require__(40); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); function enqueueUpdate(internalInstance) { ReactUpdates.enqueueUpdate(internalInstance); @@ -6111,10 +6117,10 @@ }; module.exports = ReactUpdateQueue; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 55 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6130,14 +6136,14 @@ 'use strict'; - var CallbackQueue = __webpack_require__(56); - var PooledClass = __webpack_require__(57); - var ReactPerf = __webpack_require__(19); - var ReactReconciler = __webpack_require__(51); - var Transaction = __webpack_require__(58); + var CallbackQueue = __webpack_require__(61); + var PooledClass = __webpack_require__(62); + var ReactPerf = __webpack_require__(24); + var ReactReconciler = __webpack_require__(56); + var Transaction = __webpack_require__(63); - var assign = __webpack_require__(40); - var invariant = __webpack_require__(14); + var assign = __webpack_require__(45); + var invariant = __webpack_require__(19); var dirtyComponents = []; var asapCallbackQueue = CallbackQueue.getPooled(); @@ -6340,10 +6346,10 @@ }; module.exports = ReactUpdates; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 56 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6359,10 +6365,10 @@ 'use strict'; - var PooledClass = __webpack_require__(57); + var PooledClass = __webpack_require__(62); - var assign = __webpack_require__(40); - var invariant = __webpack_require__(14); + var assign = __webpack_require__(45); + var invariant = __webpack_require__(19); /** * A specialized pseudo-event module to help keep track of components waiting to @@ -6439,10 +6445,10 @@ PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 57 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6458,7 +6464,7 @@ 'use strict'; - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * Static poolers. Several custom versions for each potential number of @@ -6564,10 +6570,10 @@ }; module.exports = PooledClass; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 58 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6583,7 +6589,7 @@ 'use strict'; - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * `Transaction` creates a black box that is able to wrap any method such that @@ -6801,10 +6807,10 @@ }; module.exports = Transaction; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 59 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6827,10 +6833,10 @@ } module.exports = emptyObject; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 60 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { /** @@ -6847,7 +6853,7 @@ 'use strict'; - var isTextNode = __webpack_require__(61); + var isTextNode = __webpack_require__(66); /*eslint-disable no-bitwise */ @@ -6890,7 +6896,7 @@ module.exports = containsNode; /***/ }, -/* 61 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { /** @@ -6907,7 +6913,7 @@ 'use strict'; - var isNode = __webpack_require__(62); + var isNode = __webpack_require__(67); /** * @param {*} object The object to check. @@ -6920,7 +6926,7 @@ module.exports = isTextNode; /***/ }, -/* 62 */ +/* 67 */ /***/ function(module, exports) { /** @@ -6948,7 +6954,7 @@ module.exports = isNode; /***/ }, -/* 63 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6965,13 +6971,13 @@ 'use strict'; - var ReactCompositeComponent = __webpack_require__(64); - var ReactEmptyComponent = __webpack_require__(69); - var ReactNativeComponent = __webpack_require__(70); + var ReactCompositeComponent = __webpack_require__(69); + var ReactEmptyComponent = __webpack_require__(74); + var ReactNativeComponent = __webpack_require__(75); - var assign = __webpack_require__(40); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); // To avoid a cyclic dependency, we create the final class in this module var ReactCompositeComponentWrapper = function () {}; @@ -7063,10 +7069,10 @@ } module.exports = instantiateReactComponent; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 64 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -7082,21 +7088,21 @@ 'use strict'; - var ReactComponentEnvironment = __webpack_require__(65); - var ReactCurrentOwner = __webpack_require__(6); - var ReactElement = __webpack_require__(43); - var ReactInstanceMap = __webpack_require__(48); - var ReactPerf = __webpack_require__(19); - var ReactPropTypeLocations = __webpack_require__(66); - var ReactPropTypeLocationNames = __webpack_require__(67); - var ReactReconciler = __webpack_require__(51); - var ReactUpdateQueue = __webpack_require__(54); + var ReactComponentEnvironment = __webpack_require__(70); + var ReactCurrentOwner = __webpack_require__(11); + var ReactElement = __webpack_require__(48); + var ReactInstanceMap = __webpack_require__(53); + var ReactPerf = __webpack_require__(24); + var ReactPropTypeLocations = __webpack_require__(71); + var ReactPropTypeLocationNames = __webpack_require__(72); + var ReactReconciler = __webpack_require__(56); + var ReactUpdateQueue = __webpack_require__(59); - var assign = __webpack_require__(40); - var emptyObject = __webpack_require__(59); - var invariant = __webpack_require__(14); - var shouldUpdateReactComponent = __webpack_require__(68); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var emptyObject = __webpack_require__(64); + var invariant = __webpack_require__(19); + var shouldUpdateReactComponent = __webpack_require__(73); + var warning = __webpack_require__(31); function getDeclarationErrorAddendum(component) { var owner = component._currentElement._owner || null; @@ -7763,10 +7769,10 @@ }; module.exports = ReactCompositeComponent; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 65 */ +/* 70 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -7782,7 +7788,7 @@ 'use strict'; - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); var injected = false; @@ -7820,10 +7826,10 @@ }; module.exports = ReactComponentEnvironment; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 66 */ +/* 71 */ /***/ function(module, exports, __webpack_require__) { /** @@ -7839,7 +7845,7 @@ 'use strict'; - var keyMirror = __webpack_require__(18); + var keyMirror = __webpack_require__(23); var ReactPropTypeLocations = keyMirror({ prop: null, @@ -7850,7 +7856,7 @@ module.exports = ReactPropTypeLocations; /***/ }, -/* 67 */ +/* 72 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -7877,10 +7883,10 @@ } module.exports = ReactPropTypeLocationNames; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 68 */ +/* 73 */ /***/ function(module, exports) { /** @@ -7928,7 +7934,7 @@ module.exports = shouldUpdateReactComponent; /***/ }, -/* 69 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { /** @@ -7944,11 +7950,11 @@ 'use strict'; - var ReactElement = __webpack_require__(43); - var ReactEmptyComponentRegistry = __webpack_require__(45); - var ReactReconciler = __webpack_require__(51); + var ReactElement = __webpack_require__(48); + var ReactEmptyComponentRegistry = __webpack_require__(50); + var ReactReconciler = __webpack_require__(56); - var assign = __webpack_require__(40); + var assign = __webpack_require__(45); var placeholderElement; @@ -7984,7 +7990,7 @@ module.exports = ReactEmptyComponent; /***/ }, -/* 70 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -8000,8 +8006,8 @@ 'use strict'; - var assign = __webpack_require__(40); - var invariant = __webpack_require__(14); + var assign = __webpack_require__(45); + var invariant = __webpack_require__(19); var autoGenerateWrapperClass = null; var genericComponentClass = null; @@ -8081,10 +8087,10 @@ }; module.exports = ReactNativeComponent; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 71 */ +/* 76 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -8100,9 +8106,9 @@ 'use strict'; - var assign = __webpack_require__(40); - var emptyFunction = __webpack_require__(16); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var emptyFunction = __webpack_require__(21); + var warning = __webpack_require__(31); var validateDOMNesting = emptyFunction; @@ -8450,10 +8456,10 @@ } module.exports = validateDOMNesting; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 72 */ +/* 77 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -8469,27 +8475,27 @@ 'use strict'; - var BeforeInputEventPlugin = __webpack_require__(73); - var ChangeEventPlugin = __webpack_require__(81); - var ClientReactRootIndex = __webpack_require__(84); - var DefaultEventPluginOrder = __webpack_require__(85); - var EnterLeaveEventPlugin = __webpack_require__(86); - var ExecutionEnvironment = __webpack_require__(10); - var HTMLDOMPropertyConfig = __webpack_require__(90); - var ReactBrowserComponentMixin = __webpack_require__(91); - var ReactComponentBrowserEnvironment = __webpack_require__(27); - var ReactDefaultBatchingStrategy = __webpack_require__(93); - var ReactDOMComponent = __webpack_require__(94); - var ReactDOMTextComponent = __webpack_require__(7); - var ReactEventListener = __webpack_require__(119); - var ReactInjection = __webpack_require__(122); - var ReactInstanceHandles = __webpack_require__(46); - var ReactMount = __webpack_require__(29); - var ReactReconcileTransaction = __webpack_require__(126); - var SelectEventPlugin = __webpack_require__(131); - var ServerReactRootIndex = __webpack_require__(132); - var SimpleEventPlugin = __webpack_require__(133); - var SVGDOMPropertyConfig = __webpack_require__(142); + var BeforeInputEventPlugin = __webpack_require__(78); + var ChangeEventPlugin = __webpack_require__(86); + var ClientReactRootIndex = __webpack_require__(89); + var DefaultEventPluginOrder = __webpack_require__(90); + var EnterLeaveEventPlugin = __webpack_require__(91); + var ExecutionEnvironment = __webpack_require__(15); + var HTMLDOMPropertyConfig = __webpack_require__(95); + var ReactBrowserComponentMixin = __webpack_require__(96); + var ReactComponentBrowserEnvironment = __webpack_require__(32); + var ReactDefaultBatchingStrategy = __webpack_require__(98); + var ReactDOMComponent = __webpack_require__(99); + var ReactDOMTextComponent = __webpack_require__(12); + var ReactEventListener = __webpack_require__(124); + var ReactInjection = __webpack_require__(127); + var ReactInstanceHandles = __webpack_require__(51); + var ReactMount = __webpack_require__(34); + var ReactReconcileTransaction = __webpack_require__(131); + var SelectEventPlugin = __webpack_require__(136); + var ServerReactRootIndex = __webpack_require__(137); + var SimpleEventPlugin = __webpack_require__(138); + var SVGDOMPropertyConfig = __webpack_require__(147); var alreadyInjected = false; @@ -8544,7 +8550,7 @@ if (process.env.NODE_ENV !== 'production') { var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; if (/[?&]react_perf\b/.test(url)) { - var ReactDefaultPerf = __webpack_require__(143); + var ReactDefaultPerf = __webpack_require__(148); ReactDefaultPerf.start(); } } @@ -8553,10 +8559,10 @@ module.exports = { inject: inject }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 73 */ +/* 78 */ /***/ function(module, exports, __webpack_require__) { /** @@ -8573,14 +8579,14 @@ 'use strict'; - var EventConstants = __webpack_require__(31); - var EventPropagators = __webpack_require__(74); - var ExecutionEnvironment = __webpack_require__(10); - var FallbackCompositionState = __webpack_require__(75); - var SyntheticCompositionEvent = __webpack_require__(77); - var SyntheticInputEvent = __webpack_require__(79); + var EventConstants = __webpack_require__(36); + var EventPropagators = __webpack_require__(79); + var ExecutionEnvironment = __webpack_require__(15); + var FallbackCompositionState = __webpack_require__(80); + var SyntheticCompositionEvent = __webpack_require__(82); + var SyntheticInputEvent = __webpack_require__(84); - var keyOf = __webpack_require__(80); + var keyOf = __webpack_require__(85); var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space var START_KEYCODE = 229; @@ -8966,7 +8972,7 @@ module.exports = BeforeInputEventPlugin; /***/ }, -/* 74 */ +/* 79 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -8982,13 +8988,13 @@ 'use strict'; - var EventConstants = __webpack_require__(31); - var EventPluginHub = __webpack_require__(32); + var EventConstants = __webpack_require__(36); + var EventPluginHub = __webpack_require__(37); - var warning = __webpack_require__(26); + var warning = __webpack_require__(31); - var accumulateInto = __webpack_require__(36); - var forEachAccumulated = __webpack_require__(37); + var accumulateInto = __webpack_require__(41); + var forEachAccumulated = __webpack_require__(42); var PropagationPhases = EventConstants.PropagationPhases; var getListener = EventPluginHub.getListener; @@ -9104,10 +9110,10 @@ }; module.exports = EventPropagators; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 75 */ +/* 80 */ /***/ function(module, exports, __webpack_require__) { /** @@ -9124,10 +9130,10 @@ 'use strict'; - var PooledClass = __webpack_require__(57); + var PooledClass = __webpack_require__(62); - var assign = __webpack_require__(40); - var getTextContentAccessor = __webpack_require__(76); + var assign = __webpack_require__(45); + var getTextContentAccessor = __webpack_require__(81); /** * This helper class stores information about text content of a target node, @@ -9207,7 +9213,7 @@ module.exports = FallbackCompositionState; /***/ }, -/* 76 */ +/* 81 */ /***/ function(module, exports, __webpack_require__) { /** @@ -9223,7 +9229,7 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(10); + var ExecutionEnvironment = __webpack_require__(15); var contentKey = null; @@ -9245,7 +9251,7 @@ module.exports = getTextContentAccessor; /***/ }, -/* 77 */ +/* 82 */ /***/ function(module, exports, __webpack_require__) { /** @@ -9262,7 +9268,7 @@ 'use strict'; - var SyntheticEvent = __webpack_require__(78); + var SyntheticEvent = __webpack_require__(83); /** * @interface Event @@ -9287,7 +9293,7 @@ module.exports = SyntheticCompositionEvent; /***/ }, -/* 78 */ +/* 83 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -9304,11 +9310,11 @@ 'use strict'; - var PooledClass = __webpack_require__(57); + var PooledClass = __webpack_require__(62); - var assign = __webpack_require__(40); - var emptyFunction = __webpack_require__(16); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var emptyFunction = __webpack_require__(21); + var warning = __webpack_require__(31); /** * @interface Event @@ -9467,10 +9473,10 @@ PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); module.exports = SyntheticEvent; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 79 */ +/* 84 */ /***/ function(module, exports, __webpack_require__) { /** @@ -9487,7 +9493,7 @@ 'use strict'; - var SyntheticEvent = __webpack_require__(78); + var SyntheticEvent = __webpack_require__(83); /** * @interface Event @@ -9513,7 +9519,7 @@ module.exports = SyntheticInputEvent; /***/ }, -/* 80 */ +/* 85 */ /***/ function(module, exports) { /** @@ -9553,7 +9559,7 @@ module.exports = keyOf; /***/ }, -/* 81 */ +/* 86 */ /***/ function(module, exports, __webpack_require__) { /** @@ -9569,17 +9575,17 @@ 'use strict'; - var EventConstants = __webpack_require__(31); - var EventPluginHub = __webpack_require__(32); - var EventPropagators = __webpack_require__(74); - var ExecutionEnvironment = __webpack_require__(10); - var ReactUpdates = __webpack_require__(55); - var SyntheticEvent = __webpack_require__(78); + var EventConstants = __webpack_require__(36); + var EventPluginHub = __webpack_require__(37); + var EventPropagators = __webpack_require__(79); + var ExecutionEnvironment = __webpack_require__(15); + var ReactUpdates = __webpack_require__(60); + var SyntheticEvent = __webpack_require__(83); - var getEventTarget = __webpack_require__(82); - var isEventSupported = __webpack_require__(41); - var isTextInputElement = __webpack_require__(83); - var keyOf = __webpack_require__(80); + var getEventTarget = __webpack_require__(87); + var isEventSupported = __webpack_require__(46); + var isTextInputElement = __webpack_require__(88); + var keyOf = __webpack_require__(85); var topLevelTypes = EventConstants.topLevelTypes; @@ -9879,7 +9885,7 @@ module.exports = ChangeEventPlugin; /***/ }, -/* 82 */ +/* 87 */ /***/ function(module, exports) { /** @@ -9913,7 +9919,7 @@ module.exports = getEventTarget; /***/ }, -/* 83 */ +/* 88 */ /***/ function(module, exports) { /** @@ -9958,7 +9964,7 @@ module.exports = isTextInputElement; /***/ }, -/* 84 */ +/* 89 */ /***/ function(module, exports) { /** @@ -9986,7 +9992,7 @@ module.exports = ClientReactRootIndex; /***/ }, -/* 85 */ +/* 90 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10002,7 +10008,7 @@ 'use strict'; - var keyOf = __webpack_require__(80); + var keyOf = __webpack_require__(85); /** * Module that is injectable into `EventPluginHub`, that specifies a @@ -10018,7 +10024,7 @@ module.exports = DefaultEventPluginOrder; /***/ }, -/* 86 */ +/* 91 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10035,12 +10041,12 @@ 'use strict'; - var EventConstants = __webpack_require__(31); - var EventPropagators = __webpack_require__(74); - var SyntheticMouseEvent = __webpack_require__(87); + var EventConstants = __webpack_require__(36); + var EventPropagators = __webpack_require__(79); + var SyntheticMouseEvent = __webpack_require__(92); - var ReactMount = __webpack_require__(29); - var keyOf = __webpack_require__(80); + var ReactMount = __webpack_require__(34); + var keyOf = __webpack_require__(85); var topLevelTypes = EventConstants.topLevelTypes; var getFirstReactDOM = ReactMount.getFirstReactDOM; @@ -10147,7 +10153,7 @@ module.exports = EnterLeaveEventPlugin; /***/ }, -/* 87 */ +/* 92 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10164,10 +10170,10 @@ 'use strict'; - var SyntheticUIEvent = __webpack_require__(88); - var ViewportMetrics = __webpack_require__(39); + var SyntheticUIEvent = __webpack_require__(93); + var ViewportMetrics = __webpack_require__(44); - var getEventModifierState = __webpack_require__(89); + var getEventModifierState = __webpack_require__(94); /** * @interface MouseEvent @@ -10225,7 +10231,7 @@ module.exports = SyntheticMouseEvent; /***/ }, -/* 88 */ +/* 93 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10242,9 +10248,9 @@ 'use strict'; - var SyntheticEvent = __webpack_require__(78); + var SyntheticEvent = __webpack_require__(83); - var getEventTarget = __webpack_require__(82); + var getEventTarget = __webpack_require__(87); /** * @interface UIEvent @@ -10290,7 +10296,7 @@ module.exports = SyntheticUIEvent; /***/ }, -/* 89 */ +/* 94 */ /***/ function(module, exports) { /** @@ -10339,7 +10345,7 @@ module.exports = getEventModifierState; /***/ }, -/* 90 */ +/* 95 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10355,8 +10361,8 @@ 'use strict'; - var DOMProperty = __webpack_require__(24); - var ExecutionEnvironment = __webpack_require__(10); + var DOMProperty = __webpack_require__(29); + var ExecutionEnvironment = __webpack_require__(15); var MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE; var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; @@ -10524,8 +10530,8 @@ */ // autoCapitalize and autoCorrect are supported in Mobile Safari for // keyboard hints. - autoCapitalize: null, - autoCorrect: null, + autoCapitalize: MUST_USE_ATTRIBUTE, + autoCorrect: MUST_USE_ATTRIBUTE, // autoSave allows WebKit/Blink to persist values of input fields on page reloads autoSave: null, // color is for Safari mask-icon link @@ -10556,9 +10562,7 @@ httpEquiv: 'http-equiv' }, DOMPropertyNames: { - autoCapitalize: 'autocapitalize', autoComplete: 'autocomplete', - autoCorrect: 'autocorrect', autoFocus: 'autofocus', autoPlay: 'autoplay', autoSave: 'autosave', @@ -10576,7 +10580,7 @@ module.exports = HTMLDOMPropertyConfig; /***/ }, -/* 91 */ +/* 96 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -10592,10 +10596,10 @@ 'use strict'; - var ReactInstanceMap = __webpack_require__(48); + var ReactInstanceMap = __webpack_require__(53); - var findDOMNode = __webpack_require__(92); - var warning = __webpack_require__(26); + var findDOMNode = __webpack_require__(97); + var warning = __webpack_require__(31); var didWarnKey = '_getDOMNodeDidWarn'; @@ -10615,10 +10619,10 @@ }; module.exports = ReactBrowserComponentMixin; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 92 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -10635,12 +10639,12 @@ 'use strict'; - var ReactCurrentOwner = __webpack_require__(6); - var ReactInstanceMap = __webpack_require__(48); - var ReactMount = __webpack_require__(29); + var ReactCurrentOwner = __webpack_require__(11); + var ReactInstanceMap = __webpack_require__(53); + var ReactMount = __webpack_require__(34); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); /** * Returns the DOM node rendered by this element. @@ -10670,10 +10674,10 @@ } module.exports = findDOMNode; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 93 */ +/* 98 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10689,11 +10693,11 @@ 'use strict'; - var ReactUpdates = __webpack_require__(55); - var Transaction = __webpack_require__(58); + var ReactUpdates = __webpack_require__(60); + var Transaction = __webpack_require__(63); - var assign = __webpack_require__(40); - var emptyFunction = __webpack_require__(16); + var assign = __webpack_require__(45); + var emptyFunction = __webpack_require__(21); var RESET_BATCHED_UPDATES = { initialize: emptyFunction, @@ -10745,7 +10749,7 @@ module.exports = ReactDefaultBatchingStrategy; /***/ }, -/* 94 */ +/* 99 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -10764,34 +10768,34 @@ 'use strict'; - var AutoFocusUtils = __webpack_require__(95); - var CSSPropertyOperations = __webpack_require__(97); - var DOMProperty = __webpack_require__(24); - var DOMPropertyOperations = __webpack_require__(23); - var EventConstants = __webpack_require__(31); - var ReactBrowserEventEmitter = __webpack_require__(30); - var ReactComponentBrowserEnvironment = __webpack_require__(27); - var ReactDOMButton = __webpack_require__(105); - var ReactDOMInput = __webpack_require__(106); - var ReactDOMOption = __webpack_require__(110); - var ReactDOMSelect = __webpack_require__(113); - var ReactDOMTextarea = __webpack_require__(114); - var ReactMount = __webpack_require__(29); - var ReactMultiChild = __webpack_require__(115); - var ReactPerf = __webpack_require__(19); - var ReactUpdateQueue = __webpack_require__(54); + var AutoFocusUtils = __webpack_require__(100); + var CSSPropertyOperations = __webpack_require__(102); + var DOMProperty = __webpack_require__(29); + var DOMPropertyOperations = __webpack_require__(28); + var EventConstants = __webpack_require__(36); + var ReactBrowserEventEmitter = __webpack_require__(35); + var ReactComponentBrowserEnvironment = __webpack_require__(32); + var ReactDOMButton = __webpack_require__(110); + var ReactDOMInput = __webpack_require__(111); + var ReactDOMOption = __webpack_require__(115); + var ReactDOMSelect = __webpack_require__(118); + var ReactDOMTextarea = __webpack_require__(119); + var ReactMount = __webpack_require__(34); + var ReactMultiChild = __webpack_require__(120); + var ReactPerf = __webpack_require__(24); + var ReactUpdateQueue = __webpack_require__(59); - var assign = __webpack_require__(40); - var canDefineProperty = __webpack_require__(44); - var escapeTextContentForBrowser = __webpack_require__(22); - var invariant = __webpack_require__(14); - var isEventSupported = __webpack_require__(41); - var keyOf = __webpack_require__(80); - var setInnerHTML = __webpack_require__(20); - var setTextContent = __webpack_require__(21); - var shallowEqual = __webpack_require__(118); - var validateDOMNesting = __webpack_require__(71); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var canDefineProperty = __webpack_require__(49); + var escapeTextContentForBrowser = __webpack_require__(27); + var invariant = __webpack_require__(19); + var isEventSupported = __webpack_require__(46); + var keyOf = __webpack_require__(85); + var setInnerHTML = __webpack_require__(25); + var setTextContent = __webpack_require__(26); + var shallowEqual = __webpack_require__(123); + var validateDOMNesting = __webpack_require__(76); + var warning = __webpack_require__(31); var deleteListener = ReactBrowserEventEmitter.deleteListener; var listenTo = ReactBrowserEventEmitter.listenTo; @@ -11710,10 +11714,10 @@ assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin); module.exports = ReactDOMComponent; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 95 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { /** @@ -11730,10 +11734,10 @@ 'use strict'; - var ReactMount = __webpack_require__(29); + var ReactMount = __webpack_require__(34); - var findDOMNode = __webpack_require__(92); - var focusNode = __webpack_require__(96); + var findDOMNode = __webpack_require__(97); + var focusNode = __webpack_require__(101); var Mixin = { componentDidMount: function () { @@ -11754,7 +11758,7 @@ module.exports = AutoFocusUtils; /***/ }, -/* 96 */ +/* 101 */ /***/ function(module, exports) { /** @@ -11785,7 +11789,7 @@ module.exports = focusNode; /***/ }, -/* 97 */ +/* 102 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -11802,15 +11806,15 @@ 'use strict'; - var CSSProperty = __webpack_require__(98); - var ExecutionEnvironment = __webpack_require__(10); - var ReactPerf = __webpack_require__(19); + var CSSProperty = __webpack_require__(103); + var ExecutionEnvironment = __webpack_require__(15); + var ReactPerf = __webpack_require__(24); - var camelizeStyleName = __webpack_require__(99); - var dangerousStyleValue = __webpack_require__(101); - var hyphenateStyleName = __webpack_require__(102); - var memoizeStringOnly = __webpack_require__(104); - var warning = __webpack_require__(26); + var camelizeStyleName = __webpack_require__(104); + var dangerousStyleValue = __webpack_require__(106); + var hyphenateStyleName = __webpack_require__(107); + var memoizeStringOnly = __webpack_require__(109); + var warning = __webpack_require__(31); var processStyleName = memoizeStringOnly(function (styleName) { return hyphenateStyleName(styleName); @@ -11963,10 +11967,10 @@ }); module.exports = CSSPropertyOperations; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 98 */ +/* 103 */ /***/ function(module, exports) { /** @@ -12110,7 +12114,7 @@ module.exports = CSSProperty; /***/ }, -/* 99 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12127,7 +12131,7 @@ 'use strict'; - var camelize = __webpack_require__(100); + var camelize = __webpack_require__(105); var msPattern = /^-ms-/; @@ -12155,7 +12159,7 @@ module.exports = camelizeStyleName; /***/ }, -/* 100 */ +/* 105 */ /***/ function(module, exports) { /** @@ -12192,7 +12196,7 @@ module.exports = camelize; /***/ }, -/* 101 */ +/* 106 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12209,7 +12213,7 @@ 'use strict'; - var CSSProperty = __webpack_require__(98); + var CSSProperty = __webpack_require__(103); var isUnitlessNumber = CSSProperty.isUnitlessNumber; @@ -12252,7 +12256,7 @@ module.exports = dangerousStyleValue; /***/ }, -/* 102 */ +/* 107 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12269,7 +12273,7 @@ 'use strict'; - var hyphenate = __webpack_require__(103); + var hyphenate = __webpack_require__(108); var msPattern = /^ms-/; @@ -12296,7 +12300,7 @@ module.exports = hyphenateStyleName; /***/ }, -/* 103 */ +/* 108 */ /***/ function(module, exports) { /** @@ -12334,7 +12338,7 @@ module.exports = hyphenate; /***/ }, -/* 104 */ +/* 109 */ /***/ function(module, exports) { /** @@ -12370,7 +12374,7 @@ module.exports = memoizeStringOnly; /***/ }, -/* 105 */ +/* 110 */ /***/ function(module, exports) { /** @@ -12425,7 +12429,7 @@ module.exports = ReactDOMButton; /***/ }, -/* 106 */ +/* 111 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -12441,13 +12445,13 @@ 'use strict'; - var ReactDOMIDOperations = __webpack_require__(28); - var LinkedValueUtils = __webpack_require__(107); - var ReactMount = __webpack_require__(29); - var ReactUpdates = __webpack_require__(55); + var ReactDOMIDOperations = __webpack_require__(33); + var LinkedValueUtils = __webpack_require__(112); + var ReactMount = __webpack_require__(34); + var ReactUpdates = __webpack_require__(60); - var assign = __webpack_require__(40); - var invariant = __webpack_require__(14); + var assign = __webpack_require__(45); + var invariant = __webpack_require__(19); var instancesByReactID = {}; @@ -12581,10 +12585,10 @@ } module.exports = ReactDOMInput; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 107 */ +/* 112 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -12601,11 +12605,11 @@ 'use strict'; - var ReactPropTypes = __webpack_require__(108); - var ReactPropTypeLocations = __webpack_require__(66); + var ReactPropTypes = __webpack_require__(113); + var ReactPropTypeLocations = __webpack_require__(71); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); var hasReadOnlyValue = { 'button': true, @@ -12721,10 +12725,10 @@ }; module.exports = LinkedValueUtils; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 108 */ +/* 113 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12740,11 +12744,11 @@ 'use strict'; - var ReactElement = __webpack_require__(43); - var ReactPropTypeLocationNames = __webpack_require__(67); + var ReactElement = __webpack_require__(48); + var ReactPropTypeLocationNames = __webpack_require__(72); - var emptyFunction = __webpack_require__(16); - var getIteratorFn = __webpack_require__(109); + var emptyFunction = __webpack_require__(21); + var getIteratorFn = __webpack_require__(114); /** * Collection of methods that allow declaration and validation of props that are @@ -13085,7 +13089,7 @@ module.exports = ReactPropTypes; /***/ }, -/* 109 */ +/* 114 */ /***/ function(module, exports) { /** @@ -13130,7 +13134,7 @@ module.exports = getIteratorFn; /***/ }, -/* 110 */ +/* 115 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -13146,11 +13150,11 @@ 'use strict'; - var ReactChildren = __webpack_require__(111); - var ReactDOMSelect = __webpack_require__(113); + var ReactChildren = __webpack_require__(116); + var ReactDOMSelect = __webpack_require__(118); - var assign = __webpack_require__(40); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var warning = __webpack_require__(31); var valueContextKey = ReactDOMSelect.valueContextKey; @@ -13219,10 +13223,10 @@ }; module.exports = ReactDOMOption; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 111 */ +/* 116 */ /***/ function(module, exports, __webpack_require__) { /** @@ -13238,11 +13242,11 @@ 'use strict'; - var PooledClass = __webpack_require__(57); - var ReactElement = __webpack_require__(43); + var PooledClass = __webpack_require__(62); + var ReactElement = __webpack_require__(48); - var emptyFunction = __webpack_require__(16); - var traverseAllChildren = __webpack_require__(112); + var emptyFunction = __webpack_require__(21); + var traverseAllChildren = __webpack_require__(117); var twoArgumentPooler = PooledClass.twoArgumentPooler; var fourArgumentPooler = PooledClass.fourArgumentPooler; @@ -13409,7 +13413,7 @@ module.exports = ReactChildren; /***/ }, -/* 112 */ +/* 117 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -13425,13 +13429,13 @@ 'use strict'; - var ReactCurrentOwner = __webpack_require__(6); - var ReactElement = __webpack_require__(43); - var ReactInstanceHandles = __webpack_require__(46); + var ReactCurrentOwner = __webpack_require__(11); + var ReactElement = __webpack_require__(48); + var ReactInstanceHandles = __webpack_require__(51); - var getIteratorFn = __webpack_require__(109); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var getIteratorFn = __webpack_require__(114); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); var SEPARATOR = ReactInstanceHandles.SEPARATOR; var SUBSEPARATOR = ':'; @@ -13601,10 +13605,10 @@ } module.exports = traverseAllChildren; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 113 */ +/* 118 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -13620,12 +13624,12 @@ 'use strict'; - var LinkedValueUtils = __webpack_require__(107); - var ReactMount = __webpack_require__(29); - var ReactUpdates = __webpack_require__(55); + var LinkedValueUtils = __webpack_require__(112); + var ReactMount = __webpack_require__(34); + var ReactUpdates = __webpack_require__(60); - var assign = __webpack_require__(40); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var warning = __webpack_require__(31); var valueContextKey = '__ReactDOMSelect_value$' + Math.random().toString(36).slice(2); @@ -13637,7 +13641,7 @@ var value = LinkedValueUtils.getValue(props); if (value != null) { - updateOptions(this, props, value); + updateOptions(this, Boolean(props.multiple), value); } } } @@ -13795,10 +13799,10 @@ } module.exports = ReactDOMSelect; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 114 */ +/* 119 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -13814,13 +13818,13 @@ 'use strict'; - var LinkedValueUtils = __webpack_require__(107); - var ReactDOMIDOperations = __webpack_require__(28); - var ReactUpdates = __webpack_require__(55); + var LinkedValueUtils = __webpack_require__(112); + var ReactDOMIDOperations = __webpack_require__(33); + var ReactUpdates = __webpack_require__(60); - var assign = __webpack_require__(40); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); function forceUpdateIfMounted() { if (this._rootNodeID) { @@ -13914,10 +13918,10 @@ } module.exports = ReactDOMTextarea; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 115 */ +/* 120 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -13934,14 +13938,14 @@ 'use strict'; - var ReactComponentEnvironment = __webpack_require__(65); - var ReactMultiChildUpdateTypes = __webpack_require__(17); + var ReactComponentEnvironment = __webpack_require__(70); + var ReactMultiChildUpdateTypes = __webpack_require__(22); - var ReactCurrentOwner = __webpack_require__(6); - var ReactReconciler = __webpack_require__(51); - var ReactChildReconciler = __webpack_require__(116); + var ReactCurrentOwner = __webpack_require__(11); + var ReactReconciler = __webpack_require__(56); + var ReactChildReconciler = __webpack_require__(121); - var flattenChildren = __webpack_require__(117); + var flattenChildren = __webpack_require__(122); /** * Updating children of a component may trigger recursive updates. The depth is @@ -14416,10 +14420,10 @@ }; module.exports = ReactMultiChild; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 116 */ +/* 121 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -14436,12 +14440,12 @@ 'use strict'; - var ReactReconciler = __webpack_require__(51); + var ReactReconciler = __webpack_require__(56); - var instantiateReactComponent = __webpack_require__(63); - var shouldUpdateReactComponent = __webpack_require__(68); - var traverseAllChildren = __webpack_require__(112); - var warning = __webpack_require__(26); + var instantiateReactComponent = __webpack_require__(68); + var shouldUpdateReactComponent = __webpack_require__(73); + var traverseAllChildren = __webpack_require__(117); + var warning = __webpack_require__(31); function instantiateChild(childInstances, child, name) { // We found a component instance. @@ -14544,10 +14548,10 @@ }; module.exports = ReactChildReconciler; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 117 */ +/* 122 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -14563,8 +14567,8 @@ 'use strict'; - var traverseAllChildren = __webpack_require__(112); - var warning = __webpack_require__(26); + var traverseAllChildren = __webpack_require__(117); + var warning = __webpack_require__(31); /** * @param {function} traverseContext Context passed through traversal. @@ -14598,10 +14602,10 @@ } module.exports = flattenChildren; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 118 */ +/* 123 */ /***/ function(module, exports) { /** @@ -14656,7 +14660,7 @@ module.exports = shallowEqual; /***/ }, -/* 119 */ +/* 124 */ /***/ function(module, exports, __webpack_require__) { /** @@ -14673,16 +14677,16 @@ 'use strict'; - var EventListener = __webpack_require__(120); - var ExecutionEnvironment = __webpack_require__(10); - var PooledClass = __webpack_require__(57); - var ReactInstanceHandles = __webpack_require__(46); - var ReactMount = __webpack_require__(29); - var ReactUpdates = __webpack_require__(55); + var EventListener = __webpack_require__(125); + var ExecutionEnvironment = __webpack_require__(15); + var PooledClass = __webpack_require__(62); + var ReactInstanceHandles = __webpack_require__(51); + var ReactMount = __webpack_require__(34); + var ReactUpdates = __webpack_require__(60); - var assign = __webpack_require__(40); - var getEventTarget = __webpack_require__(82); - var getUnboundedScrollPosition = __webpack_require__(121); + var assign = __webpack_require__(45); + var getEventTarget = __webpack_require__(87); + var getUnboundedScrollPosition = __webpack_require__(126); var DOCUMENT_FRAGMENT_NODE_TYPE = 11; @@ -14872,7 +14876,7 @@ module.exports = ReactEventListener; /***/ }, -/* 120 */ +/* 125 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -14896,7 +14900,7 @@ 'use strict'; - var emptyFunction = __webpack_require__(16); + var emptyFunction = __webpack_require__(21); /** * Upstream version of event listener. Does not take into account specific @@ -14959,10 +14963,10 @@ }; module.exports = EventListener; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 121 */ +/* 126 */ /***/ function(module, exports) { /** @@ -15005,7 +15009,7 @@ module.exports = getUnboundedScrollPosition; /***/ }, -/* 122 */ +/* 127 */ /***/ function(module, exports, __webpack_require__) { /** @@ -15021,16 +15025,16 @@ 'use strict'; - var DOMProperty = __webpack_require__(24); - var EventPluginHub = __webpack_require__(32); - var ReactComponentEnvironment = __webpack_require__(65); - var ReactClass = __webpack_require__(123); - var ReactEmptyComponent = __webpack_require__(69); - var ReactBrowserEventEmitter = __webpack_require__(30); - var ReactNativeComponent = __webpack_require__(70); - var ReactPerf = __webpack_require__(19); - var ReactRootIndex = __webpack_require__(47); - var ReactUpdates = __webpack_require__(55); + var DOMProperty = __webpack_require__(29); + var EventPluginHub = __webpack_require__(37); + var ReactComponentEnvironment = __webpack_require__(70); + var ReactClass = __webpack_require__(128); + var ReactEmptyComponent = __webpack_require__(74); + var ReactBrowserEventEmitter = __webpack_require__(35); + var ReactNativeComponent = __webpack_require__(75); + var ReactPerf = __webpack_require__(24); + var ReactRootIndex = __webpack_require__(52); + var ReactUpdates = __webpack_require__(60); var ReactInjection = { Component: ReactComponentEnvironment.injection, @@ -15048,7 +15052,7 @@ module.exports = ReactInjection; /***/ }, -/* 123 */ +/* 128 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -15064,18 +15068,18 @@ 'use strict'; - var ReactComponent = __webpack_require__(124); - var ReactElement = __webpack_require__(43); - var ReactPropTypeLocations = __webpack_require__(66); - var ReactPropTypeLocationNames = __webpack_require__(67); - var ReactNoopUpdateQueue = __webpack_require__(125); + var ReactComponent = __webpack_require__(129); + var ReactElement = __webpack_require__(48); + var ReactPropTypeLocations = __webpack_require__(71); + var ReactPropTypeLocationNames = __webpack_require__(72); + var ReactNoopUpdateQueue = __webpack_require__(130); - var assign = __webpack_require__(40); - var emptyObject = __webpack_require__(59); - var invariant = __webpack_require__(14); - var keyMirror = __webpack_require__(18); - var keyOf = __webpack_require__(80); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var emptyObject = __webpack_require__(64); + var invariant = __webpack_require__(19); + var keyMirror = __webpack_require__(23); + var keyOf = __webpack_require__(85); + var warning = __webpack_require__(31); var MIXINS_KEY = keyOf({ mixins: null }); @@ -15822,10 +15826,10 @@ }; module.exports = ReactClass; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 124 */ +/* 129 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -15841,12 +15845,12 @@ 'use strict'; - var ReactNoopUpdateQueue = __webpack_require__(125); + var ReactNoopUpdateQueue = __webpack_require__(130); - var canDefineProperty = __webpack_require__(44); - var emptyObject = __webpack_require__(59); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var canDefineProperty = __webpack_require__(49); + var emptyObject = __webpack_require__(64); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); /** * Base class helpers for the updating state of a component. @@ -15950,10 +15954,10 @@ } module.exports = ReactComponent; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 125 */ +/* 130 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -15969,7 +15973,7 @@ 'use strict'; - var warning = __webpack_require__(26); + var warning = __webpack_require__(31); function warnTDZ(publicInstance, callerName) { if (process.env.NODE_ENV !== 'production') { @@ -16074,10 +16078,10 @@ }; module.exports = ReactNoopUpdateQueue; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 126 */ +/* 131 */ /***/ function(module, exports, __webpack_require__) { /** @@ -16094,14 +16098,14 @@ 'use strict'; - var CallbackQueue = __webpack_require__(56); - var PooledClass = __webpack_require__(57); - var ReactBrowserEventEmitter = __webpack_require__(30); - var ReactDOMFeatureFlags = __webpack_require__(42); - var ReactInputSelection = __webpack_require__(127); - var Transaction = __webpack_require__(58); + var CallbackQueue = __webpack_require__(61); + var PooledClass = __webpack_require__(62); + var ReactBrowserEventEmitter = __webpack_require__(35); + var ReactDOMFeatureFlags = __webpack_require__(47); + var ReactInputSelection = __webpack_require__(132); + var Transaction = __webpack_require__(63); - var assign = __webpack_require__(40); + var assign = __webpack_require__(45); /** * Ensures that, when possible, the selection range (currently selected text @@ -16233,7 +16237,7 @@ module.exports = ReactReconcileTransaction; /***/ }, -/* 127 */ +/* 132 */ /***/ function(module, exports, __webpack_require__) { /** @@ -16249,11 +16253,11 @@ 'use strict'; - var ReactDOMSelection = __webpack_require__(128); + var ReactDOMSelection = __webpack_require__(133); - var containsNode = __webpack_require__(60); - var focusNode = __webpack_require__(96); - var getActiveElement = __webpack_require__(130); + var containsNode = __webpack_require__(65); + var focusNode = __webpack_require__(101); + var getActiveElement = __webpack_require__(135); function isInDocument(node) { return containsNode(document.documentElement, node); @@ -16362,7 +16366,7 @@ module.exports = ReactInputSelection; /***/ }, -/* 128 */ +/* 133 */ /***/ function(module, exports, __webpack_require__) { /** @@ -16378,10 +16382,10 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(10); + var ExecutionEnvironment = __webpack_require__(15); - var getNodeForCharacterOffset = __webpack_require__(129); - var getTextContentAccessor = __webpack_require__(76); + var getNodeForCharacterOffset = __webpack_require__(134); + var getTextContentAccessor = __webpack_require__(81); /** * While `isCollapsed` is available on the Selection object and `collapsed` @@ -16579,7 +16583,7 @@ module.exports = ReactDOMSelection; /***/ }, -/* 129 */ +/* 134 */ /***/ function(module, exports) { /** @@ -16657,7 +16661,7 @@ module.exports = getNodeForCharacterOffset; /***/ }, -/* 130 */ +/* 135 */ /***/ function(module, exports) { /** @@ -16676,15 +16680,11 @@ * Same as document.activeElement but wraps in a try-catch block. In IE it is * not safe to call document.activeElement if there is nothing focused. * - * The activeElement will be null only if the document or document body is not yet defined. + * The activeElement will be null only if the document body is not yet defined. */ - 'use strict'; + "use strict"; function getActiveElement() /*?DOMElement*/{ - if (typeof document === 'undefined') { - return null; - } - try { return document.activeElement || document.body; } catch (e) { @@ -16695,7 +16695,7 @@ module.exports = getActiveElement; /***/ }, -/* 131 */ +/* 136 */ /***/ function(module, exports, __webpack_require__) { /** @@ -16711,16 +16711,16 @@ 'use strict'; - var EventConstants = __webpack_require__(31); - var EventPropagators = __webpack_require__(74); - var ExecutionEnvironment = __webpack_require__(10); - var ReactInputSelection = __webpack_require__(127); - var SyntheticEvent = __webpack_require__(78); + var EventConstants = __webpack_require__(36); + var EventPropagators = __webpack_require__(79); + var ExecutionEnvironment = __webpack_require__(15); + var ReactInputSelection = __webpack_require__(132); + var SyntheticEvent = __webpack_require__(83); - var getActiveElement = __webpack_require__(130); - var isTextInputElement = __webpack_require__(83); - var keyOf = __webpack_require__(80); - var shallowEqual = __webpack_require__(118); + var getActiveElement = __webpack_require__(135); + var isTextInputElement = __webpack_require__(88); + var keyOf = __webpack_require__(85); + var shallowEqual = __webpack_require__(123); var topLevelTypes = EventConstants.topLevelTypes; @@ -16901,7 +16901,7 @@ module.exports = SelectEventPlugin; /***/ }, -/* 132 */ +/* 137 */ /***/ function(module, exports) { /** @@ -16935,7 +16935,7 @@ module.exports = ServerReactRootIndex; /***/ }, -/* 133 */ +/* 138 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -16951,24 +16951,24 @@ 'use strict'; - var EventConstants = __webpack_require__(31); - var EventListener = __webpack_require__(120); - var EventPropagators = __webpack_require__(74); - var ReactMount = __webpack_require__(29); - var SyntheticClipboardEvent = __webpack_require__(134); - var SyntheticEvent = __webpack_require__(78); - var SyntheticFocusEvent = __webpack_require__(135); - var SyntheticKeyboardEvent = __webpack_require__(136); - var SyntheticMouseEvent = __webpack_require__(87); - var SyntheticDragEvent = __webpack_require__(139); - var SyntheticTouchEvent = __webpack_require__(140); - var SyntheticUIEvent = __webpack_require__(88); - var SyntheticWheelEvent = __webpack_require__(141); + var EventConstants = __webpack_require__(36); + var EventListener = __webpack_require__(125); + var EventPropagators = __webpack_require__(79); + var ReactMount = __webpack_require__(34); + var SyntheticClipboardEvent = __webpack_require__(139); + var SyntheticEvent = __webpack_require__(83); + var SyntheticFocusEvent = __webpack_require__(140); + var SyntheticKeyboardEvent = __webpack_require__(141); + var SyntheticMouseEvent = __webpack_require__(92); + var SyntheticDragEvent = __webpack_require__(144); + var SyntheticTouchEvent = __webpack_require__(145); + var SyntheticUIEvent = __webpack_require__(93); + var SyntheticWheelEvent = __webpack_require__(146); - var emptyFunction = __webpack_require__(16); - var getEventCharCode = __webpack_require__(137); - var invariant = __webpack_require__(14); - var keyOf = __webpack_require__(80); + var emptyFunction = __webpack_require__(21); + var getEventCharCode = __webpack_require__(142); + var invariant = __webpack_require__(19); + var keyOf = __webpack_require__(85); var topLevelTypes = EventConstants.topLevelTypes; @@ -17525,10 +17525,10 @@ }; module.exports = SimpleEventPlugin; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 134 */ +/* 139 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17545,7 +17545,7 @@ 'use strict'; - var SyntheticEvent = __webpack_require__(78); + var SyntheticEvent = __webpack_require__(83); /** * @interface Event @@ -17572,7 +17572,7 @@ module.exports = SyntheticClipboardEvent; /***/ }, -/* 135 */ +/* 140 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17589,7 +17589,7 @@ 'use strict'; - var SyntheticUIEvent = __webpack_require__(88); + var SyntheticUIEvent = __webpack_require__(93); /** * @interface FocusEvent @@ -17614,7 +17614,7 @@ module.exports = SyntheticFocusEvent; /***/ }, -/* 136 */ +/* 141 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17631,11 +17631,11 @@ 'use strict'; - var SyntheticUIEvent = __webpack_require__(88); + var SyntheticUIEvent = __webpack_require__(93); - var getEventCharCode = __webpack_require__(137); - var getEventKey = __webpack_require__(138); - var getEventModifierState = __webpack_require__(89); + var getEventCharCode = __webpack_require__(142); + var getEventKey = __webpack_require__(143); + var getEventModifierState = __webpack_require__(94); /** * @interface KeyboardEvent @@ -17704,7 +17704,7 @@ module.exports = SyntheticKeyboardEvent; /***/ }, -/* 137 */ +/* 142 */ /***/ function(module, exports) { /** @@ -17759,7 +17759,7 @@ module.exports = getEventCharCode; /***/ }, -/* 138 */ +/* 143 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17776,7 +17776,7 @@ 'use strict'; - var getEventCharCode = __webpack_require__(137); + var getEventCharCode = __webpack_require__(142); /** * Normalization of deprecated HTML5 `key` values @@ -17867,7 +17867,7 @@ module.exports = getEventKey; /***/ }, -/* 139 */ +/* 144 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17884,7 +17884,7 @@ 'use strict'; - var SyntheticMouseEvent = __webpack_require__(87); + var SyntheticMouseEvent = __webpack_require__(92); /** * @interface DragEvent @@ -17909,7 +17909,7 @@ module.exports = SyntheticDragEvent; /***/ }, -/* 140 */ +/* 145 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17926,9 +17926,9 @@ 'use strict'; - var SyntheticUIEvent = __webpack_require__(88); + var SyntheticUIEvent = __webpack_require__(93); - var getEventModifierState = __webpack_require__(89); + var getEventModifierState = __webpack_require__(94); /** * @interface TouchEvent @@ -17960,7 +17960,7 @@ module.exports = SyntheticTouchEvent; /***/ }, -/* 141 */ +/* 146 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17977,7 +17977,7 @@ 'use strict'; - var SyntheticMouseEvent = __webpack_require__(87); + var SyntheticMouseEvent = __webpack_require__(92); /** * @interface WheelEvent @@ -18020,7 +18020,7 @@ module.exports = SyntheticWheelEvent; /***/ }, -/* 142 */ +/* 147 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18036,7 +18036,7 @@ 'use strict'; - var DOMProperty = __webpack_require__(24); + var DOMProperty = __webpack_require__(29); var MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE; @@ -18152,7 +18152,7 @@ module.exports = SVGDOMPropertyConfig; /***/ }, -/* 143 */ +/* 148 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18169,12 +18169,12 @@ 'use strict'; - var DOMProperty = __webpack_require__(24); - var ReactDefaultPerfAnalysis = __webpack_require__(144); - var ReactMount = __webpack_require__(29); - var ReactPerf = __webpack_require__(19); + var DOMProperty = __webpack_require__(29); + var ReactDefaultPerfAnalysis = __webpack_require__(149); + var ReactMount = __webpack_require__(34); + var ReactPerf = __webpack_require__(24); - var performanceNow = __webpack_require__(145); + var performanceNow = __webpack_require__(150); function roundFloat(val) { return Math.floor(val * 100) / 100; @@ -18394,7 +18394,7 @@ module.exports = ReactDefaultPerf; /***/ }, -/* 144 */ +/* 149 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18410,7 +18410,7 @@ 'use strict'; - var assign = __webpack_require__(40); + var assign = __webpack_require__(45); // Don't try to save users less than 1.2ms (a number I made up) var DONT_CARE_THRESHOLD = 1.2; @@ -18424,7 +18424,9 @@ 'setValueForProperty': 'update attribute', 'setValueForAttribute': 'update attribute', 'deleteValueForProperty': 'remove attribute', - 'dangerouslyReplaceNodeWithMarkupByID': 'replace' + 'setValueForStyles': 'update styles', + 'replaceNodeWithMarkup': 'replace', + 'updateTextContent': 'set textContent' }; function getTotalTime(measurements) { @@ -18598,7 +18600,7 @@ module.exports = ReactDefaultPerfAnalysis; /***/ }, -/* 145 */ +/* 150 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18615,24 +18617,29 @@ 'use strict'; - var performance = __webpack_require__(146); - var curPerformance = performance; + var performance = __webpack_require__(151); + + var performanceNow; /** * Detect if we can use `window.performance.now()` and gracefully fallback to * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now * because of Facebook's testing infrastructure. */ - if (!curPerformance || !curPerformance.now) { - curPerformance = Date; + if (performance.now) { + performanceNow = function () { + return performance.now(); + }; + } else { + performanceNow = function () { + return Date.now(); + }; } - var performanceNow = curPerformance.now.bind(curPerformance); - module.exports = performanceNow; /***/ }, -/* 146 */ +/* 151 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18649,7 +18656,7 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(10); + var ExecutionEnvironment = __webpack_require__(15); var performance; @@ -18660,7 +18667,7 @@ module.exports = performance || {}; /***/ }, -/* 147 */ +/* 152 */ /***/ function(module, exports) { /** @@ -18676,10 +18683,10 @@ 'use strict'; - module.exports = '0.14.3'; + module.exports = '0.14.5'; /***/ }, -/* 148 */ +/* 153 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18695,12 +18702,12 @@ 'use strict'; - var ReactMount = __webpack_require__(29); + var ReactMount = __webpack_require__(34); module.exports = ReactMount.renderSubtreeIntoContainer; /***/ }, -/* 149 */ +/* 154 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18716,9 +18723,9 @@ 'use strict'; - var ReactDefaultInjection = __webpack_require__(72); - var ReactServerRendering = __webpack_require__(150); - var ReactVersion = __webpack_require__(147); + var ReactDefaultInjection = __webpack_require__(77); + var ReactServerRendering = __webpack_require__(155); + var ReactVersion = __webpack_require__(152); ReactDefaultInjection.inject(); @@ -18731,7 +18738,7 @@ module.exports = ReactDOMServer; /***/ }, -/* 150 */ +/* 155 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -18747,17 +18754,17 @@ */ 'use strict'; - var ReactDefaultBatchingStrategy = __webpack_require__(93); - var ReactElement = __webpack_require__(43); - var ReactInstanceHandles = __webpack_require__(46); - var ReactMarkupChecksum = __webpack_require__(49); - var ReactServerBatchingStrategy = __webpack_require__(151); - var ReactServerRenderingTransaction = __webpack_require__(152); - var ReactUpdates = __webpack_require__(55); + var ReactDefaultBatchingStrategy = __webpack_require__(98); + var ReactElement = __webpack_require__(48); + var ReactInstanceHandles = __webpack_require__(51); + var ReactMarkupChecksum = __webpack_require__(54); + var ReactServerBatchingStrategy = __webpack_require__(156); + var ReactServerRenderingTransaction = __webpack_require__(157); + var ReactUpdates = __webpack_require__(60); - var emptyObject = __webpack_require__(59); - var instantiateReactComponent = __webpack_require__(63); - var invariant = __webpack_require__(14); + var emptyObject = __webpack_require__(64); + var instantiateReactComponent = __webpack_require__(68); + var invariant = __webpack_require__(19); /** * @param {ReactElement} element @@ -18817,10 +18824,10 @@ renderToString: renderToString, renderToStaticMarkup: renderToStaticMarkup }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 151 */ +/* 156 */ /***/ function(module, exports) { /** @@ -18848,7 +18855,7 @@ module.exports = ReactServerBatchingStrategy; /***/ }, -/* 152 */ +/* 157 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18865,12 +18872,12 @@ 'use strict'; - var PooledClass = __webpack_require__(57); - var CallbackQueue = __webpack_require__(56); - var Transaction = __webpack_require__(58); + var PooledClass = __webpack_require__(62); + var CallbackQueue = __webpack_require__(61); + var Transaction = __webpack_require__(63); - var assign = __webpack_require__(40); - var emptyFunction = __webpack_require__(16); + var assign = __webpack_require__(45); + var emptyFunction = __webpack_require__(21); /** * Provides a `CallbackQueue` queue for collecting `onDOMReady` callbacks @@ -18940,7 +18947,7 @@ module.exports = ReactServerRenderingTransaction; /***/ }, -/* 153 */ +/* 158 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -18956,17 +18963,17 @@ 'use strict'; - var ReactChildren = __webpack_require__(111); - var ReactComponent = __webpack_require__(124); - var ReactClass = __webpack_require__(123); - var ReactDOMFactories = __webpack_require__(154); - var ReactElement = __webpack_require__(43); - var ReactElementValidator = __webpack_require__(155); - var ReactPropTypes = __webpack_require__(108); - var ReactVersion = __webpack_require__(147); + var ReactChildren = __webpack_require__(116); + var ReactComponent = __webpack_require__(129); + var ReactClass = __webpack_require__(128); + var ReactDOMFactories = __webpack_require__(159); + var ReactElement = __webpack_require__(48); + var ReactElementValidator = __webpack_require__(160); + var ReactPropTypes = __webpack_require__(113); + var ReactVersion = __webpack_require__(152); - var assign = __webpack_require__(40); - var onlyChild = __webpack_require__(157); + var assign = __webpack_require__(45); + var onlyChild = __webpack_require__(162); var createElement = ReactElement.createElement; var createFactory = ReactElement.createFactory; @@ -19017,10 +19024,10 @@ }; module.exports = React; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 154 */ +/* 159 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -19037,10 +19044,10 @@ 'use strict'; - var ReactElement = __webpack_require__(43); - var ReactElementValidator = __webpack_require__(155); + var ReactElement = __webpack_require__(48); + var ReactElementValidator = __webpack_require__(160); - var mapObject = __webpack_require__(156); + var mapObject = __webpack_require__(161); /** * Create a factory that creates HTML tag elements. @@ -19200,10 +19207,10 @@ }, createDOMFactory); module.exports = ReactDOMFactories; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 155 */ +/* 160 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -19226,15 +19233,15 @@ 'use strict'; - var ReactElement = __webpack_require__(43); - var ReactPropTypeLocations = __webpack_require__(66); - var ReactPropTypeLocationNames = __webpack_require__(67); - var ReactCurrentOwner = __webpack_require__(6); + var ReactElement = __webpack_require__(48); + var ReactPropTypeLocations = __webpack_require__(71); + var ReactPropTypeLocationNames = __webpack_require__(72); + var ReactCurrentOwner = __webpack_require__(11); - var canDefineProperty = __webpack_require__(44); - var getIteratorFn = __webpack_require__(109); - var invariant = __webpack_require__(14); - var warning = __webpack_require__(26); + var canDefineProperty = __webpack_require__(49); + var getIteratorFn = __webpack_require__(114); + var invariant = __webpack_require__(19); + var warning = __webpack_require__(31); function getDeclarationErrorAddendum() { if (ReactCurrentOwner.current) { @@ -19487,10 +19494,10 @@ }; module.exports = ReactElementValidator; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 156 */ +/* 161 */ /***/ function(module, exports) { /** @@ -19546,7 +19553,7 @@ module.exports = mapObject; /***/ }, -/* 157 */ +/* 162 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -19561,9 +19568,9 @@ */ 'use strict'; - var ReactElement = __webpack_require__(43); + var ReactElement = __webpack_require__(48); - var invariant = __webpack_require__(14); + var invariant = __webpack_require__(19); /** * Returns the first child in a collection of children and verifies that there @@ -19582,10 +19589,10 @@ } module.exports = onlyChild; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 158 */ +/* 163 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -19601,8 +19608,8 @@ 'use strict'; - var assign = __webpack_require__(40); - var warning = __webpack_require__(26); + var assign = __webpack_require__(45); + var warning = __webpack_require__(31); /** * This will log a single deprecation notice per function and forward the call @@ -19636,32 +19643,32 @@ } module.exports = deprecated; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10))) /***/ }, -/* 159 */ +/* 164 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - module.exports = __webpack_require__(4); + module.exports = __webpack_require__(9); /***/ }, -/* 160 */ +/* 165 */ /***/ function(module, exports, __webpack_require__) { "use strict"; - var React = __webpack_require__(2); - var ReactDOM = __webpack_require__(159); + var React = __webpack_require__(7); + var ReactDOM = __webpack_require__(164); var Article = React.createClass({ displayName: "Article", getInitialState: function getInitialState() { return { - sections: __webpack_require__(161) + sections: __webpack_require__(166) }; }, @@ -19730,7 +19737,7 @@ module.exports = Article; /***/ }, -/* 161 */ +/* 166 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -19740,63 +19747,63 @@ * @type {Object} */ module.exports = { - preface: __webpack_require__(162), - introduction: __webpack_require__(163), - whatis: __webpack_require__(170), - explanation: __webpack_require__(174), - control: __webpack_require__(176) + preface: __webpack_require__(167), + introduction: __webpack_require__(168), + whatis: __webpack_require__(175), + explanation: __webpack_require__(179), + control: __webpack_require__(181), + matrix: __webpack_require__(182), + decasteljau: __webpack_require__(183) }; /* - matrix: require("./matrix.jsx"), - decasteljau: require("./decasteljau.jsx"), - flattening: require("./flattening.jsx"), - splitting: require("./splitting.jsx"), - matrixsplit: require("./matrixsplit.jsx"), - reordering: require("./reordering.jsx"), + flattening: require("./flattening"), + splitting: require("./splitting"), + matrixsplit: require("./matrixsplit"), + reordering: require("./reordering"), - derivatives: require("./derivatives.jsx"), - pointvectors: require("./pointvectors.jsx"), - components: require("./components.jsx"), - extremities: require("./extremities.jsx"), - boundingbox: require("./boundingbox.jsx"), - aligning: require("./aligning.jsx"), - tightbounds: require("./tightbounds.jsx"), - canonical: require("./canonical.jsx"), + derivatives: require("./derivatives"), + pointvectors: require("./pointvectors"), + components: require("./components"), + extremities: require("./extremities"), + boundingbox: require("./boundingbox"), + aligning: require("./aligning"), + tightbounds: require("./tightbounds"), + canonical: require("./canonical"), - arclength: require("./arclength.jsx"), - arclengthapprox: require("./arclengthapprox.jsx"), - tracing: require("./tracing.jsx"), + arclength: require("./arclength"), + arclengthapprox: require("./arclengthapprox"), + tracing: require("./tracing"), - intersections: require("./intersections.jsx"), - curveintersection: require("./curveintersection.jsx"), - moulding: require("./moulding.jsx"), - pointcurves: require("./pointcurves.jsx"), + intersections: require("./intersections"), + curveintersection: require("./curveintersection"), + moulding: require("./moulding"), + pointcurves: require("./pointcurves"), - catmullconv: require("./catmullconv.jsx"), - catmullmoulding: require("./catmullmoulding.jsx"), + catmullconv: require("./catmullconv"), + catmullmoulding: require("./catmullmoulding"), - polybezier: require("./polybezier.jsx"), - shapes: require("./shapes.jsx"), + polybezier: require("./polybezier"), + shapes: require("./shapes"), - projections: require("./projections.jsx"), + projections: require("./projections"), - offsetting: require("./offsetting.jsx"), - graduatedoffset: require("./graduatedoffset.jsx"), + offsetting: require("./offsetting"), + graduatedoffset: require("./graduatedoffset"), - circles: require("./circles.jsx"), - circles_cubic: require("./circles_cubic.jsx"), - arcapproximation: require("./arcapproximation.jsx") + circles: require("./circles"), + circles_cubic: require("./circles_cubic"), + arcapproximation: require("./arcapproximation") */ /***/ }, -/* 162 */ +/* 167 */ /***/ function(module, exports, __webpack_require__) { "use strict"; - var React = __webpack_require__(2); + var React = __webpack_require__(7); var Preface = React.createClass({ displayName: "Preface", @@ -19918,14 +19925,14 @@ module.exports = Preface; /***/ }, -/* 163 */ +/* 168 */ /***/ function(module, exports, __webpack_require__) { "use strict"; - var React = __webpack_require__(2); - var Graphic = __webpack_require__(164); - var SectionHeader = __webpack_require__(169); + var React = __webpack_require__(7); + var Graphic = __webpack_require__(169); + var SectionHeader = __webpack_require__(174); var Introduction = React.createClass({ displayName: "Introduction", @@ -19982,14 +19989,14 @@ module.exports = Introduction; /***/ }, -/* 164 */ +/* 169 */ /***/ function(module, exports, __webpack_require__) { "use strict"; - var React = __webpack_require__(2); - var ReactDOM = __webpack_require__(159); - var chroma = __webpack_require__(165); + var React = __webpack_require__(7); + var ReactDOM = __webpack_require__(164); + var chroma = __webpack_require__(170); var fix = function fix(e) { e = e || window.event; @@ -20005,7 +20012,7 @@ var Graphic = React.createClass({ displayName: "Graphic", - Bezier: __webpack_require__(167), + Bezier: __webpack_require__(172), curve: false, mx: 0, my: 0, @@ -20025,7 +20032,6 @@ onMouseDown: this.mouseDown, onMouseMove: this.mouseMove, onMouseUp: this.mouseUp, - onMouseOver: this.mouseOver, onClick: this.mouseClick }), React.createElement( @@ -20215,6 +20221,23 @@ this.drawCoordinates(curve, offset); }, + drawHull: function drawHull(curve, t, offset) { + var hull = curve.hull(t); + if (hull.length === 6) { + this.drawLine(hull[0], hull[1], offset); + this.drawLine(hull[1], hull[2], offset); + this.drawLine(hull[3], hull[4], offset); + } else { + this.drawLine(hull[0], hull[1], offset); + this.drawLine(hull[1], hull[2], offset); + this.drawLine(hull[2], hull[3], offset); + this.drawLine(hull[4], hull[5], offset); + this.drawLine(hull[5], hull[6], offset); + this.drawLine(hull[7], hull[8], offset); + } + return hull; + }, + drawCoordinates: function drawCoordinates(curve, offset) { var _this2 = this; @@ -20359,7 +20382,7 @@ module.exports = Graphic; /***/ }, -/* 165 */ +/* 170 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) { @@ -22828,10 +22851,10 @@ }).call(this); - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(166)(module))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(171)(module))) /***/ }, -/* 166 */ +/* 171 */ /***/ function(module, exports) { module.exports = function(module) { @@ -22847,13 +22870,13 @@ /***/ }, -/* 167 */ +/* 172 */ /***/ function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(168); + module.exports = __webpack_require__(173); /***/ }, -/* 168 */ +/* 173 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/** @@ -23353,16 +23376,17 @@ * */ var Bezier = function(coords) { - var args = (coords && coords.forEach ? coords : arguments); + var args = (coords && coords.forEach) ? coords : [].slice.call(arguments); if(typeof args[0] === "object") { - args = []; - for(var i=0; i1) { _p = []; for(i=0, l=p.length-1; i tag // load the styles - var content = __webpack_require__(178); + var content = __webpack_require__(185); if(typeof content === 'string') content = [[module.id, content, '']]; // add the styles to the DOM - var update = __webpack_require__(182)(content, {}); + var update = __webpack_require__(188)(content, {}); if(content.locals) module.exports = content.locals; // Hot Module Replacement if(false) { @@ -25853,21 +26547,21 @@ } /***/ }, -/* 178 */ +/* 185 */ /***/ function(module, exports, __webpack_require__) { - exports = module.exports = __webpack_require__(179)(); + exports = module.exports = __webpack_require__(186)(); // imports // module - exports.push([module.id, "html,\nbody {\n margin: 0;\n padding: 0;\n}\nbody {\n background: url(" + __webpack_require__(180) + ");\n}\nheader,\nsection,\nfooter {\n width: 960px;\n margin: 0 auto;\n}\nheader {\n text-align: center;\n margin-bottom: 2rem;\n}\nheader h1 {\n font-size: 360%;\n margin: 0;\n margin-bottom: 1rem;\n}\nheader h2 {\n font-size: 125%;\n margin: 0;\n}\narticle {\n width: 960px;\n margin: auto;\n background: rgba(255, 255, 255, 0.74);\n border: solid rgba(255, 0, 0, 0.35);\n border-width: 0;\n border-left-width: 1px;\n padding: 1em;\n box-shadow: 25px 0px 25px 25px rgba(255, 255, 255, 0.74);\n}\nsection p {\n text-align: justify;\n}\nsection h2[data-num]:before {\n content: \"\\A7\" attr(data-num) \" \\2014 \";\n}\nsection h2 a,\nsection h2 a:active,\nsection h2 a:hover,\nsection h2 a:visited {\n text-decoration: none;\n color: inherit;\n}\ncanvas.loading-sketch {\n background: url(" + __webpack_require__(181) + ");\n background-repeat: no-repeat;\n background-position: 50% 50%;\n}\n.sketch-code {\n display: inline-block;\n unicode-bidi: embed;\n font-family: monospace;\n white-space: pre;\n border: 1px solid black;\n min-height: 300px;\n}\n.sketch {\n display: inline-block;\n border: 1px solid #DDD;\n padding: 5px;\n font-style: italic;\n font-size: 80%;\n background: #fafacc;\n}\n.sketch canvas {\n margin: auto;\n border: 1px solid black;\n height: 300px;\n}\n.sketch canvas:focus {\n outline: 1px solid rgba(0, 0, 0, 0);\n}\n.sketch img {\n margin: auto;\n border: 1px solid black;\n}\n.labeled-image p:before {\n content: \"Image \" attr(data-img-label) \". \";\n}\n.labeled-image p {\n margin: 0;\n}\n.sketch canvas[data-preset=simple],\n.sketch canvas[data-preset=poly],\n.sketch canvas[data-preset=ratios],\n.sketch canvas[data-preset=clipping],\n.sketch canvas[data-preset=abc],\n.sketch canvas[data-preset=moulding],\n.sketch canvas[data-preset=generate] {\n width: 300px;\n}\n.sketch canvas[data-preset=twopanel] {\n width: 600px;\n}\n.sketch canvas[data-preset=shapes],\n.sketch canvas[data-preset=threepanel] {\n width: 900px;\n}\n.sketch-title span {\n color: #0000c8;\n cursor: pointer;\n}\ndiv.note {\n font-size: 90%;\n margin: 1em 2em;\n padding: 1em;\n border: 1px solid grey;\n background: rgba(150, 150, 50, 0.05);\n}\ndiv.note * {\n margin: 0;\n padding: 0;\n}\ndiv.note p {\n margin: 1em 0;\n}\ndiv.note div.MathJax_Display {\n margin: 1em 0;\n}\na,\na:visited {\n color: #0000c8;\n text-decoration: none;\n}\n#ribbonimg {\n position: fixed;\n top: 0;\n right: 0;\n z-index: 999;\n}\n#navbar {\n float: right;\n background: white;\n padding: 0 0.2em 0.5em 0.5em;\n border: 1px solid black;\n margin: 0 0 0.2em 1em;\n font-size: 80%;\n}\n#navbar h3 {\n margin: 0.2em 0;\n}\n#navbar ol {\n margin: 0.2em;\n margin-left: -1em;\n}\ntd p {\n text-align: center;\n}\n#scriptblock {\n display: none;\n}\n/**\n GITHUB ISSUES\n**/\ngithub-issues {\n position: relative;\n display: block;\n width: 100%;\n}\ngithub-issue {\n display: block;\n position: relative;\n border: 1px solid #EEE;\n border-left: 0.3em solid #e5ecf3;\n /*border-radius: 7px 0 0 7px;*/\n background: white;\n padding: 0 0.3em;\n font: 13px Helvetica, arial, freesans, clean, sans-serif;\n width: 95%;\n margin: auto;\n min-height: 33px;\n}\ngithub-issue + github-issue {\n margin-top: 1em;\n}\ngithub-issue h3 {\n font-size: 100%;\n background: #e5ecf3;\n margin: 0;\n position: relative;\n left: -0.5%;\n width: 101%;\n font-weight: bold;\n border-bottom: 1px solid #999;\n}\ngithub-issue a {\n position: absolute;\n top: 2px;\n right: 10px;\n padding: 0 4px;\n color: #4183C4!important;\n background: white;\n line-height: 10px;\n font-size: 10px;\n}\n.howtocode {\n border: 1px solid #8d94bd;\n padding: 0 1em;\n margin: 0 2em;\n overflow-x: hidden;\n}\n.howtocode h3 {\n margin: 0 -1em;\n padding: 0;\n background: #91bef7;\n padding-left: 0.5em;\n color: white;\n text-shadow: 1px 1px 0 #000000;\n cursor: pointer;\n}\n.howtocode pre {\n border: 1px solid #8d94bd;\n background: rgba(223, 226, 243, 0.32);\n margin: 0.5em;\n padding: 0.5em;\n}\nfooter {\n font-style: italic;\n margin: 2em 0 1em 0;\n background: inherit;\n}\n/* addthis nonsense */\n.at-floatingbar-inner {\n width: 10px;\n}\n/* =========================================================== */\nfigure {\n display: inline-block;\n border: 1px solid grey;\n background: #F0F0F0;\n padding: 0.5em 0.5em 0 0.5em;\n text-align: center;\n}\nfigure.inline {\n border: none;\n margin: 0;\n}\nfigure canvas {\n display: inline-block;\n background: white;\n border: 1px solid lightgrey;\n}\nfigure figcaption {\n text-align: center;\n padding: 0.5em 0;\n font-style: italic;\n font-size: 90%;\n}\ndiv.figure {\n display: inline-block;\n border: 1px solid grey;\n text-align: center;\n}\n/* =========================================================== */\nnavigation {\n display: block;\n width: 70%;\n margin: 0 auto;\n padding: 0;\n border: 1px solid grey;\n}\nnavigation ul {\n background: #F2F2F9;\n list-style: none;\n margin: 0;\n padding: 0.5em 1em;\n}\nnavigation ul li:nth-child(n+2):before {\n content: \"\\A7\" attr(data-number) \". \";\n}\n", ""]); + exports.push([module.id, "html,\nbody {\n font-family: Verdana;\n margin: 0;\n padding: 0;\n}\nbody {\n background: url(" + __webpack_require__(187) + ");\n}\nheader,\nsection,\nfooter {\n width: 960px;\n margin: 0 auto;\n}\nheader {\n font-family: Times;\n text-align: center;\n margin-bottom: 2rem;\n}\nheader h1 {\n font-size: 360%;\n margin: 0;\n margin-bottom: 1rem;\n}\nheader h2 {\n font-size: 125%;\n margin: 0;\n}\narticle {\n font-family: Verdana;\n width: 960px;\n margin: auto;\n background: rgba(255, 255, 255, 0.74);\n border: solid rgba(255, 0, 0, 0.35);\n border-width: 0;\n border-left-width: 1px;\n padding: 1em;\n box-shadow: 25px 0px 25px 25px rgba(255, 255, 255, 0.74);\n}\na,\na:visited {\n color: #0000c8;\n text-decoration: none;\n}\n#ribbonimg {\n position: fixed;\n top: 0;\n right: 0;\n z-index: 999;\n}\nfooter {\n font-style: italic;\n margin: 2em 0 1em 0;\n background: inherit;\n}\nnavigation {\n font-family: Georgia;\n display: block;\n width: 70%;\n margin: 0 auto;\n padding: 0;\n border: 1px solid grey;\n}\nnavigation ul {\n background: #F2F2F9;\n list-style: none;\n margin: 0;\n padding: 0.5em 1em;\n}\nnavigation ul li:nth-child(n+2):before {\n content: \"\\A7\" attr(data-number) \". \";\n}\nsection p {\n text-align: justify;\n}\nsection h2[data-num]:before {\n content: \"\\A7\" attr(data-num) \" \\2014 \";\n}\nsection h2 a,\nsection h2 a:active,\nsection h2 a:hover,\nsection h2 a:visited {\n text-decoration: none;\n color: inherit;\n}\ndiv.note {\n font-size: 90%;\n margin: 1em 2em;\n padding: 1em;\n border: 1px solid grey;\n background: rgba(150, 150, 50, 0.05);\n}\ndiv.note * {\n margin: 0;\n padding: 0;\n}\ndiv.note p {\n margin: 1em 0;\n}\ndiv.note div.MathJax_Display {\n margin: 1em 0;\n}\n.howtocode {\n border: 1px solid #8d94bd;\n padding: 0 1em;\n margin: 0 2em;\n overflow-x: hidden;\n}\n.howtocode h3 {\n margin: 0 -1em;\n padding: 0;\n background: #91bef7;\n padding-left: 0.5em;\n color: white;\n text-shadow: 1px 1px 0 #000000;\n cursor: pointer;\n}\n.howtocode pre {\n border: 1px solid #8d94bd;\n background: rgba(223, 226, 243, 0.32);\n margin: 0.5em;\n padding: 0.5em;\n}\nfigure {\n display: inline-block;\n border: 1px solid grey;\n background: #F0F0F0;\n padding: 0.5em 0.5em 0 0.5em;\n text-align: center;\n}\nfigure.inline {\n border: none;\n margin: 0;\n}\nfigure canvas {\n display: inline-block;\n background: white;\n border: 1px solid lightgrey;\n}\nfigure figcaption {\n text-align: center;\n padding: 0.5em 0;\n font-style: italic;\n font-size: 90%;\n}\ndiv.figure {\n display: inline-block;\n border: 1px solid grey;\n text-align: center;\n}\ngithub-issues {\n position: relative;\n display: block;\n width: 100%;\n border: 1px solid #EEE;\n border-left: 0.3em solid #e5ecf3;\n background: white;\n padding: 0 0.3em;\n width: 95%;\n margin: auto;\n min-height: 33px;\n font: 13px Helvetica, arial, freesans, clean, sans-serif;\n}\ngithub-issues github-issue + github-issue {\n margin-top: 1em;\n}\ngithub-issues github-issue h3 {\n font-size: 100%;\n background: #e5ecf3;\n margin: 0;\n position: relative;\n left: -0.5%;\n width: 101%;\n font-weight: bold;\n border-bottom: 1px solid #999;\n}\ngithub-issues github-issue a {\n position: absolute;\n top: 2px;\n right: 10px;\n padding: 0 4px;\n color: #4183C4!important;\n background: white;\n line-height: 10px;\n font-size: 10px;\n}\n", ""]); // exports /***/ }, -/* 179 */ +/* 186 */ /***/ function(module, exports) { /* @@ -25923,19 +26617,13 @@ /***/ }, -/* 180 */ +/* 187 */ /***/ function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "images/packed/7d3b28205544712db60d1bb7973f10f3.png"; /***/ }, -/* 181 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = __webpack_require__.p + "images/packed/a82c213aa38c43ee54e3b86ba5bdb987.gif"; - -/***/ }, -/* 182 */ +/* 188 */ /***/ function(module, exports, __webpack_require__) { /* diff --git a/components/Graphic.jsx b/components/Graphic.jsx index a174262a..0043cab8 100644 --- a/components/Graphic.jsx +++ b/components/Graphic.jsx @@ -33,7 +33,6 @@ var Graphic = React.createClass({ onMouseDown={this.mouseDown} onMouseMove={this.mouseMove} onMouseUp={this.mouseUp} - onMouseOver={this.mouseOver} onClick={this.mouseClick} />
{this.props.title}
@@ -217,6 +216,23 @@ var Graphic = React.createClass({ this.drawCoordinates(curve, offset); }, + drawHull: function(curve, t, offset) { + var hull = curve.hull(t); + if(hull.length === 6) { + this.drawLine(hull[0], hull[1], offset); + this.drawLine(hull[1], hull[2], offset); + this.drawLine(hull[3], hull[4], offset); + } else { + this.drawLine(hull[0], hull[1], offset); + this.drawLine(hull[1], hull[2], offset); + this.drawLine(hull[2], hull[3], offset); + this.drawLine(hull[4], hull[5], offset); + this.drawLine(hull[5], hull[6], offset); + this.drawLine(hull[7], hull[8], offset); + } + return hull; + }, + drawCoordinates: function(curve, offset) { offset = offset || { x:0, y:0 }; var pts = curve.points; diff --git a/components/sections/decasteljau/index.js b/components/sections/decasteljau/index.js new file mode 100644 index 00000000..d7c993e8 --- /dev/null +++ b/components/sections/decasteljau/index.js @@ -0,0 +1,118 @@ +var React = require("react"); +var Graphic = require("../../Graphic.jsx"); +var SectionHeader = require("../../SectionHeader.jsx"); +var LaTeX = require("../../LaTeX.jsx"); + +var deCasteljau = React.createClass({ + statics: { + title: "de Casteljau's algorithm" + }, + + setup: function(api) { + var points = [ + {x: 90, y:110}, + {x: 25, y: 40}, + {x:230, y: 40}, + {x:150, y:240} + ]; + api.setCurve(new api.Bezier(points)); + }, + + draw: function(api, curve) { + api.reset(); + api.drawSkeleton(curve); + api.drawCurve(curve); + + if (api.hover) { + api.setColor("rgb(200,100,100)"); + var dim = api.getPanelWidth(); + var t = api.hover.x / dim; + var hull = api.drawHull(curve, t); + + for(var i=4; i<=8; i++) { + api.drawCircle(hull[i],3); + } + + var p = curve.get(t); + api.drawCircle(p, 5); + api.setFill("black"); + api.drawCircle(p, 3); + var perc = (t*100)|0; + t = perc/100; + api.text("Sequential interpolation for "+perc+"% (t="+t+")", {x: 10, y:15}); + } + }, + + render: function() { + return ( +
+ {deCasteljau.title} +

If we want to draw Bézier curves we can run through all values of t from 0 to 1 and then + compute the weighted basis function, getting the x/y values we need to plot, but the + more complex the curve gets, the more expensive this becomes. Instead, we can use "de Casteljau's + algorithm" to draw curves, which is a geometric approach to drawing curves, and really easy to + implement. So easy, in fact, you can do it by hand with a pencil and ruler.

+ +

Rather than using our calculus function to find x/y values for t, let's + do this instead:

+ +
    +
  • treat t as a ratio (which it is). t=0 is 0% along a line, t=1 is 100% along a line.
  • +
  • Take all lines between the curve's defining points. For an order n curve, that's n lines.
  • +
  • Place markers along each of these line, at distance t. So if t is 0.2, place the mark + at 20% from the start, 80% from the end.
  • +
  • Now form lines between those points. This gives n-1 lines.
  • +
  • Place markers along each of these line at distance t.
  • +
  • Form lines between those points. This'll be n-2 lines.
  • +
  • place markers, form lines, place markers, etc.
  • +
  • repeat this until you have only one line left. The point t on that line coincides with the + original curve point at t.
  • +
+ +
+

How to implement de Casteljau's algorithm

+ +

Let's just use the algorithm we just specified, and implement that:

+ +
function drawCurve(points[], t):
+  if(points.length==1):
+    draw(points[0])
+  else:
+    newpoints=array(points.size-1)
+    for(i=0; i<newpoints.length; i++):
+      newpoints[i] = (1-t) * points[i] + t * points[i+1]
+    drawCurve(newpoints, t)
+ +

And done, that's the algorithm implemented. Except usually you don't get the luxury of + overloading the "+" operator, so let's also give the code for when you need to work with + x and y values:

+ +
function drawCurve(points[], t):
+  if(points.length==1):
+    draw(points[0])
+  else:
+    newpoints=array(points.size-1)
+    for(i=0; i<newpoints.length; i++):
+      x = (1-t) * points[i].x + t * points[i+1].x
+      y = (1-t) * points[i].y + t * points[i+1].y
+      newpoints[i] = new point(x,y)
+    drawCurve(newpoints, t)
+ +

So what does this do? This draws a point, if the passed list of points is only 1 point + long. Otherwise it will create a new list of points that sit at the t ratios (i.e. + the "markers" outlined in the above algorithm), and then call the draw function for this + new list.

+
+ +

To see this in action, mouse-over the following sketch. Moving the mouse changes which curve point is + explicitly evaluated using de Casteljau's algorithm, moving the cursor left-to-right (or, of course, + right-to-left), shows you how a curve is generated using this approach.

+ + + +
+ ); + } +}); + +module.exports = deCasteljau; diff --git a/components/sections/index.js b/components/sections/index.js index d4559197..ff31ba17 100644 --- a/components/sections/index.js +++ b/components/sections/index.js @@ -7,49 +7,49 @@ module.exports = { introduction: require("./introduction"), whatis: require("./whatis"), explanation: require("./explanation"), - control: require("./control") + control: require("./control"), + matrix: require("./matrix"), + decasteljau: require("./decasteljau") }; /* - matrix: require("./matrix.jsx"), - decasteljau: require("./decasteljau.jsx"), - flattening: require("./flattening.jsx"), - splitting: require("./splitting.jsx"), - matrixsplit: require("./matrixsplit.jsx"), - reordering: require("./reordering.jsx"), + flattening: require("./flattening"), + splitting: require("./splitting"), + matrixsplit: require("./matrixsplit"), + reordering: require("./reordering"), - derivatives: require("./derivatives.jsx"), - pointvectors: require("./pointvectors.jsx"), - components: require("./components.jsx"), - extremities: require("./extremities.jsx"), - boundingbox: require("./boundingbox.jsx"), - aligning: require("./aligning.jsx"), - tightbounds: require("./tightbounds.jsx"), - canonical: require("./canonical.jsx"), + derivatives: require("./derivatives"), + pointvectors: require("./pointvectors"), + components: require("./components"), + extremities: require("./extremities"), + boundingbox: require("./boundingbox"), + aligning: require("./aligning"), + tightbounds: require("./tightbounds"), + canonical: require("./canonical"), - arclength: require("./arclength.jsx"), - arclengthapprox: require("./arclengthapprox.jsx"), - tracing: require("./tracing.jsx"), + arclength: require("./arclength"), + arclengthapprox: require("./arclengthapprox"), + tracing: require("./tracing"), - intersections: require("./intersections.jsx"), - curveintersection: require("./curveintersection.jsx"), - moulding: require("./moulding.jsx"), - pointcurves: require("./pointcurves.jsx"), + intersections: require("./intersections"), + curveintersection: require("./curveintersection"), + moulding: require("./moulding"), + pointcurves: require("./pointcurves"), - catmullconv: require("./catmullconv.jsx"), - catmullmoulding: require("./catmullmoulding.jsx"), + catmullconv: require("./catmullconv"), + catmullmoulding: require("./catmullmoulding"), - polybezier: require("./polybezier.jsx"), - shapes: require("./shapes.jsx"), + polybezier: require("./polybezier"), + shapes: require("./shapes"), - projections: require("./projections.jsx"), + projections: require("./projections"), - offsetting: require("./offsetting.jsx"), - graduatedoffset: require("./graduatedoffset.jsx"), + offsetting: require("./offsetting"), + graduatedoffset: require("./graduatedoffset"), - circles: require("./circles.jsx"), - circles_cubic: require("./circles_cubic.jsx"), - arcapproximation: require("./arcapproximation.jsx") + circles: require("./circles"), + circles_cubic: require("./circles_cubic"), + arcapproximation: require("./arcapproximation") */ diff --git a/components/sections/matrix/index.js b/components/sections/matrix/index.js new file mode 100644 index 00000000..a445418d --- /dev/null +++ b/components/sections/matrix/index.js @@ -0,0 +1,154 @@ +var React = require("react"); +var SectionHeader = require("../../SectionHeader.jsx"); +var LaTeX = require("../../LaTeX.jsx"); + +var Matrix = React.createClass({ + statics: { + title: "Bézier curvatures as matrix operations" + }, + + render: function() { + return ( +
+ {Matrix.title} + +

We can also represent Bézier as matrix operations, by expressing the Bézier formula + as a polynomial basis function, the weight matrix, and the actual coordinates as matrix. + Let's look at what this means for the cubic curve :

+ + \[ + B(t) = P_1 \cdot (1-t)^3 + P_2 \cdot 3 \cdot (1-t)^2 \cdot t + P_3 \cdot 3 \cdot (1-t) \cdot t^2 + P_4 \cdot t^3 + \] + +

Disregarding our actual coordinates for a moment, we have:

+ + \[ + B(t) = (1-t)^3 + 3 \cdot (1-t)^2 \cdot t + 3 \cdot (1-t) \cdot t^2 + t^3 + \] + +

We can write this as a sum of four expressions:

+ + \[ + \begin{matrix} + ... & = & (1-t)^3 \\ + & + & 3 \cdot (1-t)^2 \cdot t \\ + & + & 3 \cdot (1-t) \cdot t^2 \\ + & + & t^3 \\ + \end{matrix} + \] + +

And we can expand these expressions:

+ + \[ + \begin{matrix} + ... & = & (1-t) \cdot (1-t) \cdot (1-t) & = & -t^3 + 3 \cdot t^2 - 3 \cdot t + 1 \\ + & + & 3 \cdot (1-t) \cdot (1-t) \cdot t & = & 3 \cdot t^3 - 6 \cdot t^2 + 3 \cdot t \\ + & + & 3 \cdot (1-t) \cdot t \cdot t & = & -3 \cdot t^3 + 3 \cdot t^2 \\ + & + & t \cdot t \cdot t & = & t^3 \\ + \end{matrix} + \] + +

Furthermore, we can make all the 1 and 0 factors explicit:

+ + \[ + \begin{matrix} + ... & = & -1 \cdot t^3 + 3 \cdot t^2 - 3 \cdot t + 1 \\ + & + & +3 \cdot t^3 - 6 \cdot t^2 + 3 \cdot t + 0 \\ + & + & -3 \cdot t^3 + 3 \cdot t^2 + 0 \cdot t + 0 \\ + & + & +1 \cdot t^3 + 0 \cdot t^2 + 0 \cdot t + 0 \\ + \end{matrix} + \] + +

And that, we can view as a series of four matrix operations:

+ + \[ + \begin{bmatrix}t^3 & t^2 & t & 1\end{bmatrix} \cdot \begin{bmatrix}-1 \\ 3 \\ -3 \\ 1\end{bmatrix} + + \begin{bmatrix}t^3 & t^2 & t & 1\end{bmatrix} \cdot \begin{bmatrix}3 \\ -6 \\ 3 \\ 0\end{bmatrix} + + \begin{bmatrix}t^3 & t^2 & t & 1\end{bmatrix} \cdot \begin{bmatrix}-3 \\ 3 \\ 0 \\ 0\end{bmatrix} + + \begin{bmatrix}t^3 & t^2 & t & 1\end{bmatrix} \cdot \begin{bmatrix}1 \\ 0 \\ 0 \\ 0\end{bmatrix} + \] + +

If we compact this into a single matrix operation, we get:

+ + \[ + \begin{bmatrix}t^3 & t^2 & t & 1\end{bmatrix} \cdot \begin{bmatrix} + -1 & 3 & -3 & 1 \\ + 3 & -6 & 3 & 0 \\ + -3 & 3 & 0 & 0 \\ + 1 & 0 & 0 & 0 + \end{bmatrix} + \] + +

This kind of polynomial basis representation is generally written with the bases in + increasing order, which means we need to flip our t matrix horizontally, and our + big "mixing" matrix upside down:

+ + \[ + \begin{bmatrix}1 & t & t^2 & t^3\end{bmatrix} \cdot \begin{bmatrix} + 1 & 0 & 0 & 0 \\ + -3 & 3 & 0 & 0 \\ + 3 & -6 & 3 & 0 \\ + -1 & 3 & -3 & 1 + \end{bmatrix} + \] + +

And then finally, we can add in our original coordinates as a single third matrix:

+ + \[ + B(t) = \begin{bmatrix} + 1 & t & t^2 & t^3 + \end{bmatrix} + \cdot + \begin{bmatrix} + 1 & 0 & 0 & 0 \\ + -3 & 3 & 0 & 0 \\ + 3 & -6 & 3 & 0 \\ + -1 & 3 & -3 & 1 + \end{bmatrix} + \cdot + \begin{bmatrix} + P_1 \\ P_2 \\ P_3 \\ P_4 + \end{bmatrix} + \] + +

We can perform the same trick for the quadratic curve, in which case we end up with:

+ + \[ + B(t) = \begin{bmatrix} + 1 & t & t^2 + \end{bmatrix} + \cdot + \begin{bmatrix} + 1 & 0 & 0 \\ + -2 & 2 & 0 \\ + 1 & -2 & 1 + \end{bmatrix} + \cdot + \begin{bmatrix} + P_1 \\ P_2 \\ P_3 + \end{bmatrix} + \] + +

If we plug in a t value, and then multiply the matrices, we will + get exactly the same values as when we evaluate the original polynomial function, + or as when we evaluate the curve using progessive linear interpolation.

+ +

So: why would we bother with matrices? Matrix representations + allow us to discover things about functions that would otherwise be hard to tell. + It turns out that the curves form triangular + matrices, and they have a determinant equal to the product of the actual + coordinates we use for our curve. It's also invertible, which means there's + a + ton of properties that are all satisfied. Of course, the main question is: + "Why is this useful to us, now?", and the answer to that is that it's not + immediately useful, but you'll be seeing some instances where certain curve + properties can be either computed via function manipulation, or via clever + use of matrices, and sometimes the matrix approach can be (drastically) faster.

+ +

So for now, just remember that we can represent curves this way, and let's move on.

+
+ ); + } +}); + +module.exports = Matrix; diff --git a/components/sections/whatis/index.js b/components/sections/whatis/index.js index a9ddc2e5..ecdb13bc 100644 --- a/components/sections/whatis/index.js +++ b/components/sections/whatis/index.js @@ -60,7 +60,7 @@ var Whatis = React.createClass({

While it doesn't look like that's what we've just done, we actually just drew a quadratic curve, in steps, rather than in a single go. One of the fascinating parts about Bézier curves is that they can both be described in terms of polynomial functions, as well as in terms of very simple interpolations of interpolations of [...]. - That it turn means we can look at what these curves can do based on both "real maths" (by examining the functions, + That, in turn, means we can look at what these curves can do based on both "real maths" (by examining the functions, their derivatives, and all that stuff), as well as by looking at the "mechanical" composition (which tells us that a curve will never extend beyond the points we used to construct it, for instance)

diff --git a/index.html b/index.html index 3c007c28..6d1add0c 100644 --- a/index.html +++ b/index.html @@ -46,7 +46,7 @@ -
+
diff --git a/package.json b/package.json index 84718b96..306708a0 100644 --- a/package.json +++ b/package.json @@ -31,24 +31,20 @@ "babel-loader": "^6.2.0", "babel-preset-es2015": "^6.3.13", "babel-preset-react": "^6.3.13", - "bezier-js": "^1.0.8", + "bezier-js": "^1.0.10", "chroma-js": "^1.1.1", "css-loader": "^0.23.0", "file-loader": "^0.8.5", "jsmin": "^1.0.1", "json-stringify-safe": "^5.0.1", - "katex": "git+https://github.com/Khan/KaTeX.git", "less": "^2.5.3", "less-loader": "^2.2.2", "less-watch-compiler": "^1.1.4", - "mocha": "^2.3.4", - "nunjucks": "^2.2.0", + "mathjax-node": "^0.4.0", "raw-loader": "^0.5.1", "react": "^0.14.3", "react-component-visibility": "0.0.8", "react-dom": "^0.14.3", - "should": "^8.0.1", - "sinon": "^1.17.2", "style-loader": "^0.13.0", "uglify-loader": "^1.3.0", "webpack": "^1.12.9", diff --git a/stylesheets/figure.less b/stylesheets/figure.less new file mode 100644 index 00000000..df50740a --- /dev/null +++ b/stylesheets/figure.less @@ -0,0 +1,32 @@ +figure { + display: inline-block; + border: 1px solid grey; + background: #F0F0F0; + @psize: 0.5em; + padding: @psize @psize 0 @psize; + text-align: center; + + &.inline { + border: none; + margin: 0; + } + + canvas { + display: inline-block; + background: white; + border: 1px solid lightgrey; + } + + figcaption { + text-align: center; + padding: 0.5em 0; + font-style: italic; + font-size: 90%; + } +} + +div.figure { + display: inline-block; + border: 1px solid grey; + text-align: center; +} diff --git a/stylesheets/github-issues.less b/stylesheets/github-issues.less new file mode 100644 index 00000000..4ac0aa4c --- /dev/null +++ b/stylesheets/github-issues.less @@ -0,0 +1,42 @@ +github-issues { + position: relative; + display: block; + width: 100%; + border: 1px solid #EEE; + border-left: 0.3em solid rgb(229, 236, 243); + background: white; + padding: 0 0.3em; + width: 95%; + margin: auto; + min-height: 33px; + + font: 13px Helvetica, arial, freesans, clean, sans-serif; + + github-issue { + & + github-issue { + margin-top: 1em; + } + + h3 { + font-size:100%; + background: rgb(229, 236, 243); + margin: 0; + position: relative; + left: -.5%; + width: 101%; + font-weight: bold; + border-bottom: 1px solid #999; + } + + a { + position: absolute; + top: 2px; + right: 10px; + padding: 0 4px; + color: #4183C4!important; + background: white; + line-height: 10px; + font-size: 10px; + } + } +} diff --git a/stylesheets/howtocode.less b/stylesheets/howtocode.less new file mode 100644 index 00000000..bf462d00 --- /dev/null +++ b/stylesheets/howtocode.less @@ -0,0 +1,23 @@ +.howtocode { + border: 1px solid rgb(141, 148, 189); + padding: 0 1em; + margin: 0 2em; + overflow-x: hidden; + + h3 { + margin: 0 -1em; + padding: 0; + background: rgb(145, 190, 247); + padding-left: 0.5em; + color: white; + text-shadow: 1px 1px 0 rgb(0, 0, 0); + cursor: pointer; + } + + pre { + border: 1px solid rgb(141, 148, 189); + background: rgba(223, 226, 243, 0.32); + margin: 0.5em; + padding: 0.5em; + } +} diff --git a/stylesheets/navigation.less b/stylesheets/navigation.less new file mode 100644 index 00000000..d11bcd9f --- /dev/null +++ b/stylesheets/navigation.less @@ -0,0 +1,22 @@ +navigation { + font-family: Georgia; + + display: block; + width: 70%; + margin: 0 auto; + padding: 0; + border: 1px solid grey; + + ul { + background: #F2F2F9; + list-style: none; + margin: 0; + padding: 0.5em 1em; + + li { + &:nth-child(n+2):before { + content: "§" attr(data-number) ". " + } + } + } +} diff --git a/stylesheets/section.less b/stylesheets/section.less new file mode 100644 index 00000000..2c3d1de6 --- /dev/null +++ b/stylesheets/section.less @@ -0,0 +1,30 @@ +section { + p { + text-align: justify; + } + + h2 { + &[data-num] { + &:before { + content: "§" attr(data-num) " — "; + } + } + + a,a:active,a:hover,a:visited { + text-decoration: none; + color: inherit; + } + } +} + +div.note { + font-size: 90%; + margin: 1em 2em; + padding: 1em; + border: 1px solid grey; + background: rgba(150,150,50,0.05); + + * { margin: 0; padding: 0; } + p { margin: 1em 0; } + div.MathJax_Display { margin: 1em 0; } +} diff --git a/stylesheets/sketch.less b/stylesheets/sketch.less new file mode 100644 index 00000000..b17f4280 --- /dev/null +++ b/stylesheets/sketch.less @@ -0,0 +1,59 @@ +canvas.loading-sketch { + background: url('../images/ajax-loader.gif'); + background-repeat: no-repeat; + background-position: 50% 50%; +} +.sketch-code { + display: inline-block; + unicode-bidi: embed; + font-family: monospace; + white-space: pre; + border: 1px solid black; + min-height: 300px; +} +.sketch { + display: inline-block; + border: 1px solid #DDD; + padding: 5px; + font-style: italic; + font-size: 80%; + background: rgb(250,250,204); +} +.sketch canvas { + margin: auto; + border: 1px solid black; + height: 300px; +} +.sketch canvas:focus { + outline: 1px solid rgba(0,0,0,0); +} + +.sketch img { + margin: auto; + border: 1px solid black; +} + +.labeled-image p:before { + content: "Image " attr(data-img-label) ". "; +} +.labeled-image p { + margin: 0; +} + +.sketch canvas[data-preset=simple], +.sketch canvas[data-preset=poly], +.sketch canvas[data-preset=ratios], +.sketch canvas[data-preset=clipping], +.sketch canvas[data-preset=abc], +.sketch canvas[data-preset=moulding], +.sketch canvas[data-preset=generate] +{ width: 300px; } + +.sketch canvas[data-preset=twopanel] +{ width: 600px; } + +.sketch canvas[data-preset=shapes], +.sketch canvas[data-preset=threepanel] +{ width: 900px; } + +.sketch-title span { color: rgb(0,0,200); cursor: pointer; } diff --git a/stylesheets/style.less b/stylesheets/style.less index 113a6687..1ab94ce9 100644 --- a/stylesheets/style.less +++ b/stylesheets/style.less @@ -1,4 +1,5 @@ html, body { + font-family: Verdana; margin: 0; padding: 0; } @@ -13,6 +14,8 @@ header, section, footer { } header { + font-family: Times; + text-align: center; h1 { font-size: 360%; @@ -27,6 +30,8 @@ header { } article { + font-family: Verdana; + width: 960px; margin: auto; background: rgba(255, 255, 255, 0.74); @@ -37,94 +42,6 @@ article { box-shadow: 25px 0px 25px 25px rgba(255, 255, 255, 0.74); } -section p { - text-align: justify; -} - -section h2 { - &[data-num] { - &:before { - content: "§" attr(data-num) " — "; - } - } - - a,a:active,a:hover,a:visited { - text-decoration: none; - color: inherit; - } -} - -canvas.loading-sketch { - background: url('../images/ajax-loader.gif'); - background-repeat: no-repeat; - background-position: 50% 50%; -} -.sketch-code { - display: inline-block; - unicode-bidi: embed; - font-family: monospace; - white-space: pre; - border: 1px solid black; - min-height: 300px; -} -.sketch { - display: inline-block; - border: 1px solid #DDD; - padding: 5px; - font-style: italic; - font-size: 80%; - background: rgb(250,250,204); -} -.sketch canvas { - margin: auto; - border: 1px solid black; - height: 300px; -} -.sketch canvas:focus { - outline: 1px solid rgba(0,0,0,0); -} - -.sketch img { - margin: auto; - border: 1px solid black; -} - -.labeled-image p:before { - content: "Image " attr(data-img-label) ". "; -} -.labeled-image p { - margin: 0; -} - -.sketch canvas[data-preset=simple], -.sketch canvas[data-preset=poly], -.sketch canvas[data-preset=ratios], -.sketch canvas[data-preset=clipping], -.sketch canvas[data-preset=abc], -.sketch canvas[data-preset=moulding], -.sketch canvas[data-preset=generate] -{ width: 300px; } - -.sketch canvas[data-preset=twopanel] -{ width: 600px; } - -.sketch canvas[data-preset=shapes], -.sketch canvas[data-preset=threepanel] -{ width: 900px; } - -.sketch-title span { color: rgb(0,0,200); cursor: pointer; } - -div.note { - font-size: 90%; - margin: 1em 2em; - padding: 1em; - border: 1px solid grey; - background: rgba(150,150,50,0.05); -} -div.note * { margin: 0; padding: 0; } -div.note p { margin: 1em 0; } -div.note div.MathJax_Display { margin: 1em 0; } - a, a:visited { color: rgb(0,0,200); text-decoration: none; } #ribbonimg { @@ -134,165 +51,14 @@ a, a:visited { color: rgb(0,0,200); text-decoration: none; } z-index: 999; } -#navbar { - float: right; - background: white; - padding: 0 0.2em 0.5em 0.5em; - border: 1px solid black; - margin: 0 0 0.2em 1em; - font-size: 80%; -} - -#navbar h3 { margin: 0.2em 0; } -#navbar ol { margin: 0.2em; margin-left: -1em; } - -td p { - text-align:center; -} - -#scriptblock { display: none; } - - -/** - GITHUB ISSUES -**/ - -github-issues { - position: relative; - display: block; - width: 100%; -} - -github-issue { - display: block; - position: relative; - border: 1px solid #EEE; - border-left: 0.3em solid rgb(229, 236, 243); - /*border-radius: 7px 0 0 7px;*/ - background: white; - padding: 0 0.3em; - font: 13px Helvetica, arial, freesans, clean, sans-serif; - width: 95%; - margin: auto; - min-height: 33px; -} - -github-issue + github-issue { - margin-top: 1em; -} - -github-issue h3 { - font-size:100%; - background: rgb(229, 236, 243); - margin: 0; - position: relative; - left: -.5%; - width: 101%; - font-weight: bold; - border-bottom: 1px solid #999; -} - -github-issue a { - position: absolute; - top: 2px; - right: 10px; - padding: 0 4px; - color: #4183C4!important; - background: white; - line-height: 10px; - font-size: 10px; -} - -.howtocode { - border: 1px solid rgb(141, 148, 189); - padding: 0 1em; - margin: 0 2em; - overflow-x: hidden; -} - -.howtocode h3 { - margin: 0 -1em; - padding: 0; - background: rgb(145, 190, 247); - padding-left: 0.5em; - color: white; - text-shadow: 1px 1px 0 rgb(0, 0, 0); - cursor: pointer; -} - -.howtocode pre { - border: 1px solid rgb(141, 148, 189); - background: rgba(223, 226, 243, 0.32); - margin: 0.5em; - padding: 0.5em; -} - footer { font-style: italic; margin: 2em 0 1em 0; background: inherit; } -/* addthis nonsense */ -.at-floatingbar-inner { - width: 10px; -} - -/* =========================================================== */ - -figure { - display: inline-block; - border: 1px solid grey; - background: #F0F0F0; - @psize: 0.5em; - padding: @psize @psize 0 @psize; - text-align: center; - - &.inline { - border: none; - margin: 0; - } - - canvas { - display: inline-block; - background: white; - border: 1px solid lightgrey; - } - - figcaption { - text-align: center; - padding: 0.5em 0; - font-style: italic; - font-size: 90%; - } -} - -div.figure { - display: inline-block; - border: 1px solid grey; - text-align: center; -} - - -/* =========================================================== */ - -navigation { - display: block; - width: 70%; - margin: 0 auto; - padding: 0; - border: 1px solid grey; - - ul { - background: #F2F2F9; - list-style: none; - margin: 0; - padding: 0.5em 1em; - - li { - &:nth-child(n+2):before { - content: "§" attr(data-number) ". " - } - } - } -} +@import "navigation.less"; +@import "section.less"; +@import "howtocode.less"; +@import "figure.less"; +@import "github-issues.less";