(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react"), require("react-dom")); else if(typeof define === 'function' && define.amd) define(["react", "react-dom"], factory); else if(typeof exports === 'object') exports["ReactBootstrap"] = factory(require("react"), require("react-dom")); else root["ReactBootstrap"] = factory(root["React"], root["ReactDOM"]); })(this, function(__WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_34__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; var _interopRequireWildcard = __webpack_require__(2)['default']; exports.__esModule = true; var _utilsChildrenValueInputValidation = __webpack_require__(3); var _utilsChildrenValueInputValidation2 = _interopRequireDefault(_utilsChildrenValueInputValidation); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var _Accordion2 = __webpack_require__(8); var _Accordion3 = _interopRequireDefault(_Accordion2); exports.Accordion = _Accordion3['default']; var _Affix2 = __webpack_require__(32); var _Affix3 = _interopRequireDefault(_Affix2); exports.Affix = _Affix3['default']; var _AffixMixin2 = __webpack_require__(33); var _AffixMixin3 = _interopRequireDefault(_AffixMixin2); exports.AffixMixin = _AffixMixin3['default']; var _Alert2 = __webpack_require__(44); var _Alert3 = _interopRequireDefault(_Alert2); exports.Alert = _Alert3['default']; var _Badge2 = __webpack_require__(45); var _Badge3 = _interopRequireDefault(_Badge2); exports.Badge = _Badge3['default']; var _BootstrapMixin2 = __webpack_require__(28); var _BootstrapMixin3 = _interopRequireDefault(_BootstrapMixin2); exports.BootstrapMixin = _BootstrapMixin3['default']; var _Breadcrumb2 = __webpack_require__(46); var _Breadcrumb3 = _interopRequireDefault(_Breadcrumb2); exports.Breadcrumb = _Breadcrumb3['default']; var _BreadcrumbItem2 = __webpack_require__(47); var _BreadcrumbItem3 = _interopRequireDefault(_BreadcrumbItem2); exports.BreadcrumbItem = _BreadcrumbItem3['default']; var _Button2 = __webpack_require__(62); var _Button3 = _interopRequireDefault(_Button2); exports.Button = _Button3['default']; var _ButtonGroup2 = __webpack_require__(68); var _ButtonGroup3 = _interopRequireDefault(_ButtonGroup2); exports.ButtonGroup = _ButtonGroup3['default']; var _ButtonInput2 = __webpack_require__(64); var _ButtonInput3 = _interopRequireDefault(_ButtonInput2); exports.ButtonInput = _ButtonInput3['default']; var _ButtonToolbar2 = __webpack_require__(70); var _ButtonToolbar3 = _interopRequireDefault(_ButtonToolbar2); exports.ButtonToolbar = _ButtonToolbar3['default']; var _Carousel2 = __webpack_require__(71); var _Carousel3 = _interopRequireDefault(_Carousel2); exports.Carousel = _Carousel3['default']; var _CarouselItem2 = __webpack_require__(72); var _CarouselItem3 = _interopRequireDefault(_CarouselItem2); exports.CarouselItem = _CarouselItem3['default']; var _Col2 = __webpack_require__(74); var _Col3 = _interopRequireDefault(_Col2); exports.Col = _Col3['default']; var _CollapsibleNav2 = __webpack_require__(79); var _CollapsibleNav3 = _interopRequireDefault(_CollapsibleNav2); exports.CollapsibleNav = _CollapsibleNav3['default']; var _Dropdown2 = __webpack_require__(92); var _Dropdown3 = _interopRequireDefault(_Dropdown2); exports.Dropdown = _Dropdown3['default']; var _DropdownButton2 = __webpack_require__(177); var _DropdownButton3 = _interopRequireDefault(_DropdownButton2); exports.DropdownButton = _DropdownButton3['default']; var _Glyphicon2 = __webpack_require__(67); var _Glyphicon3 = _interopRequireDefault(_Glyphicon2); exports.Glyphicon = _Glyphicon3['default']; var _Grid2 = __webpack_require__(178); var _Grid3 = _interopRequireDefault(_Grid2); exports.Grid = _Grid3['default']; var _Image2 = __webpack_require__(179); var _Image3 = _interopRequireDefault(_Image2); exports.Image = _Image3['default']; var _Input2 = __webpack_require__(180); var _Input3 = _interopRequireDefault(_Input2); exports.Input = _Input3['default']; var _Interpolate2 = __webpack_require__(184); var _Interpolate3 = _interopRequireDefault(_Interpolate2); exports.Interpolate = _Interpolate3['default']; var _Jumbotron2 = __webpack_require__(185); var _Jumbotron3 = _interopRequireDefault(_Jumbotron2); exports.Jumbotron = _Jumbotron3['default']; var _Label2 = __webpack_require__(186); var _Label3 = _interopRequireDefault(_Label2); exports.Label = _Label3['default']; var _ListGroup2 = __webpack_require__(187); var _ListGroup3 = _interopRequireDefault(_ListGroup2); exports.ListGroup = _ListGroup3['default']; var _ListGroupItem2 = __webpack_require__(188); var _ListGroupItem3 = _interopRequireDefault(_ListGroupItem2); exports.ListGroupItem = _ListGroupItem3['default']; var _MenuItem2 = __webpack_require__(189); var _MenuItem3 = _interopRequireDefault(_MenuItem2); exports.MenuItem = _MenuItem3['default']; var _Modal2 = __webpack_require__(190); var _Modal3 = _interopRequireDefault(_Modal2); exports.Modal = _Modal3['default']; var _ModalBody2 = __webpack_require__(201); var _ModalBody3 = _interopRequireDefault(_ModalBody2); exports.ModalBody = _ModalBody3['default']; var _ModalFooter2 = __webpack_require__(204); var _ModalFooter3 = _interopRequireDefault(_ModalFooter2); exports.ModalFooter = _ModalFooter3['default']; var _ModalHeader2 = __webpack_require__(202); var _ModalHeader3 = _interopRequireDefault(_ModalHeader2); exports.ModalHeader = _ModalHeader3['default']; var _ModalTitle2 = __webpack_require__(203); var _ModalTitle3 = _interopRequireDefault(_ModalTitle2); exports.ModalTitle = _ModalTitle3['default']; var _Nav2 = __webpack_require__(205); var _Nav3 = _interopRequireDefault(_Nav2); exports.Nav = _Nav3['default']; var _Navbar2 = __webpack_require__(206); var _Navbar3 = _interopRequireDefault(_Navbar2); exports.Navbar = _Navbar3['default']; var _NavBrand2 = __webpack_require__(207); var _NavBrand3 = _interopRequireDefault(_NavBrand2); exports.NavBrand = _NavBrand3['default']; var _NavDropdown2 = __webpack_require__(208); var _NavDropdown3 = _interopRequireDefault(_NavDropdown2); exports.NavDropdown = _NavDropdown3['default']; var _NavItem2 = __webpack_require__(209); var _NavItem3 = _interopRequireDefault(_NavItem2); exports.NavItem = _NavItem3['default']; var _Overlay2 = __webpack_require__(210); var _Overlay3 = _interopRequireDefault(_Overlay2); exports.Overlay = _Overlay3['default']; var _OverlayTrigger2 = __webpack_require__(219); var _OverlayTrigger3 = _interopRequireDefault(_OverlayTrigger2); exports.OverlayTrigger = _OverlayTrigger3['default']; var _PageHeader2 = __webpack_require__(221); var _PageHeader3 = _interopRequireDefault(_PageHeader2); exports.PageHeader = _PageHeader3['default']; var _PageItem2 = __webpack_require__(222); var _PageItem3 = _interopRequireDefault(_PageItem2); exports.PageItem = _PageItem3['default']; var _Pager2 = __webpack_require__(223); var _Pager3 = _interopRequireDefault(_Pager2); exports.Pager = _Pager3['default']; var _Pagination2 = __webpack_require__(224); var _Pagination3 = _interopRequireDefault(_Pagination2); exports.Pagination = _Pagination3['default']; var _Panel2 = __webpack_require__(227); var _Panel3 = _interopRequireDefault(_Panel2); exports.Panel = _Panel3['default']; var _PanelGroup2 = __webpack_require__(25); var _PanelGroup3 = _interopRequireDefault(_PanelGroup2); exports.PanelGroup = _PanelGroup3['default']; var _Popover2 = __webpack_require__(228); var _Popover3 = _interopRequireDefault(_Popover2); exports.Popover = _Popover3['default']; var _ProgressBar2 = __webpack_require__(229); var _ProgressBar3 = _interopRequireDefault(_ProgressBar2); exports.ProgressBar = _ProgressBar3['default']; var _ResponsiveEmbed2 = __webpack_require__(230); var _ResponsiveEmbed3 = _interopRequireDefault(_ResponsiveEmbed2); exports.ResponsiveEmbed = _ResponsiveEmbed3['default']; var _Row2 = __webpack_require__(231); var _Row3 = _interopRequireDefault(_Row2); exports.Row = _Row3['default']; var _SafeAnchor2 = __webpack_require__(49); var _SafeAnchor3 = _interopRequireDefault(_SafeAnchor2); exports.SafeAnchor = _SafeAnchor3['default']; var _SplitButton3 = __webpack_require__(232); var _SplitButton4 = _interopRequireDefault(_SplitButton3); exports.SplitButton = _SplitButton4['default']; var _SplitButton5 = _interopRequireDefault(_SplitButton3); exports.SplitButton = _SplitButton5['default']; var _styleMaps2 = __webpack_require__(29); var _styleMaps3 = _interopRequireDefault(_styleMaps2); exports.styleMaps = _styleMaps3['default']; var _SubNav2 = __webpack_require__(234); var _SubNav3 = _interopRequireDefault(_SubNav2); exports.SubNav = _SubNav3['default']; var _Tab2 = __webpack_require__(235); var _Tab3 = _interopRequireDefault(_Tab2); exports.Tab = _Tab3['default']; var _Table2 = __webpack_require__(236); var _Table3 = _interopRequireDefault(_Table2); exports.Table = _Table3['default']; var _Tabs2 = __webpack_require__(237); var _Tabs3 = _interopRequireDefault(_Tabs2); exports.Tabs = _Tabs3['default']; var _Thumbnail2 = __webpack_require__(238); var _Thumbnail3 = _interopRequireDefault(_Thumbnail2); exports.Thumbnail = _Thumbnail3['default']; var _Tooltip2 = __webpack_require__(239); var _Tooltip3 = _interopRequireDefault(_Tooltip2); exports.Tooltip = _Tooltip3['default']; var _Well2 = __webpack_require__(240); var _Well3 = _interopRequireDefault(_Well2); exports.Well = _Well3['default']; var _Collapse2 = __webpack_require__(80); var _Collapse3 = _interopRequireDefault(_Collapse2); exports.Collapse = _Collapse3['default']; var _Fade2 = __webpack_require__(199); var _Fade3 = _interopRequireDefault(_Fade2); exports.Fade = _Fade3['default']; var _FormControls2 = __webpack_require__(181); var _FormControls = _interopRequireWildcard(_FormControls2); exports.FormControls = _FormControls; var utils = { childrenValueInputValidation: _utilsChildrenValueInputValidation2['default'], createChainedFunction: _utilsCreateChainedFunction2['default'], ValidComponentChildren: _utilsValidComponentChildren2['default'] }; exports.utils = utils; /***/ }, /* 1 */ /***/ function(module, exports) { "use strict"; exports["default"] = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; exports.__esModule = true; /***/ }, /* 2 */ /***/ function(module, exports) { "use strict"; exports["default"] = function (obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } }; exports.__esModule = true; /***/ }, /* 3 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; exports['default'] = valueValidation; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactPropTypesLibSinglePropFrom = __webpack_require__(5); var _reactPropTypesLibSinglePropFrom2 = _interopRequireDefault(_reactPropTypesLibSinglePropFrom); function valueValidation(props, propName, componentName) { var error = _reactPropTypesLibSinglePropFrom2['default']('children', 'value')(props, propName, componentName); if (!error) { error = _react2['default'].PropTypes.node(props, propName, componentName); } return error; } module.exports = exports['default']; /***/ }, /* 4 */ /***/ function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_4__; /***/ }, /* 5 */ /***/ function(module, exports) { /** * Checks if only one of the listed properties is in use. An error is given * if multiple have a value * * @param props * @param propName * @param componentName * @returns {Error|undefined} */ 'use strict'; exports.__esModule = true; exports['default'] = createSinglePropFromChecker; function createSinglePropFromChecker() { for (var _len = arguments.length, arrOfProps = Array(_len), _key = 0; _key < _len; _key++) { arrOfProps[_key] = arguments[_key]; } function validate(props, propName, componentName) { var usedPropCount = arrOfProps.map(function (listedProp) { return props[listedProp]; }).reduce(function (acc, curr) { return acc + (curr !== undefined ? 1 : 0); }, 0); if (usedPropCount > 1) { var first = arrOfProps[0]; var others = arrOfProps.slice(1); var message = others.join(', ') + ' and ' + first; return new Error('Invalid prop \'' + propName + '\', only one of the following ' + ('may be provided: ' + message)); } } return validate; } module.exports = exports['default']; /***/ }, /* 6 */ /***/ function(module, exports) { /** * Safe chained function * * Will only create a new function if needed, * otherwise will pass back existing functions or null. * * @param {function} functions to chain * @returns {function|null} */ 'use strict'; exports.__esModule = true; function createChainedFunction() { for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } return funcs.filter(function (f) { return f != null; }).reduce(function (acc, f) { if (typeof f !== 'function') { throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.'); } if (acc === null) { return f; } return function chainedFunction() { for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } acc.apply(this, args); f.apply(this, args); }; }, null); } exports['default'] = createChainedFunction; module.exports = exports['default']; /***/ }, /* 7 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); /** * Maps children that are typically specified as `props.children`, * but only iterates over children that are "valid components". * * The mapFunction provided index will be normalised to the components mapped, * so an invalid component would not increase the index. * * @param {?*} children Children tree container. * @param {function(*, int)} mapFunction. * @param {*} mapContext Context for mapFunction. * @return {object} Object containing the ordered map of results. */ function mapValidComponents(children, func, context) { var index = 0; return _react2['default'].Children.map(children, function (child) { if (_react2['default'].isValidElement(child)) { var lastIndex = index; index++; return func.call(context, child, lastIndex); } return child; }); } /** * Iterates through children that are typically specified as `props.children`, * but only iterates over children that are "valid components". * * The provided forEachFunc(child, index) will be called for each * leaf child with the index reflecting the position relative to "valid components". * * @param {?*} children Children tree container. * @param {function(*, int)} forEachFunc. * @param {*} forEachContext Context for forEachContext. */ function forEachValidComponents(children, func, context) { var index = 0; return _react2['default'].Children.forEach(children, function (child) { if (_react2['default'].isValidElement(child)) { func.call(context, child, index); index++; } }); } /** * Count the number of "valid components" in the Children container. * * @param {?*} children Children tree container. * @returns {number} */ function numberOfValidComponents(children) { var count = 0; _react2['default'].Children.forEach(children, function (child) { if (_react2['default'].isValidElement(child)) { count++; } }); return count; } /** * Determine if the Child container has one or more "valid components". * * @param {?*} children Children tree container. * @returns {boolean} */ function hasValidComponent(children) { var hasValid = false; _react2['default'].Children.forEach(children, function (child) { if (!hasValid && _react2['default'].isValidElement(child)) { hasValid = true; } }); return hasValid; } function find(children, finder) { var child = undefined; forEachValidComponents(children, function (c, idx) { if (!child && finder(c, idx, children)) { child = c; } }); return child; } /** * Finds children that are typically specified as `props.children`, * but only iterates over children that are "valid components". * * The provided forEachFunc(child, index) will be called for each * leaf child with the index reflecting the position relative to "valid components". * * @param {?*} children Children tree container. * @param {function(*, int)} findFunc. * @param {*} findContext Context for findContext. * @returns {array} of children that meet the findFunc return statement */ function findValidComponents(children, func, context) { var index = 0; var returnChildren = []; _react2['default'].Children.forEach(children, function (child) { if (_react2['default'].isValidElement(child)) { if (func.call(context, child, index)) { returnChildren.push(child); } index++; } }); return returnChildren; } exports['default'] = { map: mapValidComponents, forEach: forEachValidComponents, numberOf: numberOfValidComponents, find: find, findValidComponents: findValidComponents, hasValidComponent: hasValidComponent }; module.exports = exports['default']; /***/ }, /* 8 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _PanelGroup = __webpack_require__(25); var _PanelGroup2 = _interopRequireDefault(_PanelGroup); var Accordion = _react2['default'].createClass({ displayName: 'Accordion', render: function render() { return _react2['default'].createElement( _PanelGroup2['default'], _extends({}, this.props, { accordion: true }), this.props.children ); } }); exports['default'] = Accordion; module.exports = exports['default']; /***/ }, /* 9 */ /***/ function(module, exports, __webpack_require__) { "use strict"; var _Object$assign = __webpack_require__(10)["default"]; exports["default"] = _Object$assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; exports.__esModule = true; /***/ }, /* 10 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(11), __esModule: true }; /***/ }, /* 11 */ /***/ function(module, exports, __webpack_require__) { __webpack_require__(12); module.exports = __webpack_require__(15).Object.assign; /***/ }, /* 12 */ /***/ function(module, exports, __webpack_require__) { // 19.1.3.1 Object.assign(target, source) var $def = __webpack_require__(13); $def($def.S + $def.F, 'Object', {assign: __webpack_require__(16)}); /***/ }, /* 13 */ /***/ function(module, exports, __webpack_require__) { var global = __webpack_require__(14) , core = __webpack_require__(15) , PROTOTYPE = 'prototype'; var ctx = function(fn, that){ return function(){ return fn.apply(that, arguments); }; }; var $def = function(type, name, source){ var key, own, out, exp , isGlobal = type & $def.G , isProto = type & $def.P , target = isGlobal ? global : type & $def.S ? global[name] : (global[name] || {})[PROTOTYPE] , exports = isGlobal ? core : core[name] || (core[name] = {}); if(isGlobal)source = name; for(key in source){ // contains in native own = !(type & $def.F) && target && key in target; if(own && key in exports)continue; // export native or passed out = own ? target[key] : source[key]; // prevent global pollution for namespaces if(isGlobal && typeof target[key] != 'function')exp = source[key]; // bind timers to global for call from export context else if(type & $def.B && own)exp = ctx(out, global); // wrap global constructors for prevent change them in library else if(type & $def.W && target[key] == out)!function(C){ exp = function(param){ return this instanceof C ? new C(param) : C(param); }; exp[PROTOTYPE] = C[PROTOTYPE]; }(out); else exp = isProto && typeof out == 'function' ? ctx(Function.call, out) : out; // export exports[key] = exp; if(isProto)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out; } }; // type bitmap $def.F = 1; // forced $def.G = 2; // global $def.S = 4; // static $def.P = 8; // proto $def.B = 16; // bind $def.W = 32; // wrap module.exports = $def; /***/ }, /* 14 */ /***/ function(module, exports) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var UNDEFINED = 'undefined'; var global = module.exports = typeof window != UNDEFINED && window.Math == Math ? window : typeof self != UNDEFINED && self.Math == Math ? self : Function('return this')(); if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef /***/ }, /* 15 */ /***/ function(module, exports) { var core = module.exports = {version: '1.2.1'}; if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef /***/ }, /* 16 */ /***/ function(module, exports, __webpack_require__) { // 19.1.2.1 Object.assign(target, source, ...) var toObject = __webpack_require__(17) , IObject = __webpack_require__(19) , enumKeys = __webpack_require__(21) , has = __webpack_require__(23); // should work with symbols and should have deterministic property order (V8 bug) module.exports = __webpack_require__(24)(function(){ var a = Object.assign , A = {} , B = {} , S = Symbol() , K = 'abcdefghijklmnopqrst'; A[S] = 7; K.split('').forEach(function(k){ B[k] = k; }); return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K; }) ? function assign(target, source){ // eslint-disable-line no-unused-vars var T = toObject(target) , l = arguments.length , i = 1; while(l > i){ var S = IObject(arguments[i++]) , keys = enumKeys(S) , length = keys.length , j = 0 , key; while(length > j)if(has(S, key = keys[j++]))T[key] = S[key]; } return T; } : Object.assign; /***/ }, /* 17 */ /***/ function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) var defined = __webpack_require__(18); module.exports = function(it){ return Object(defined(it)); }; /***/ }, /* 18 */ /***/ function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) module.exports = function(it){ if(it == undefined)throw TypeError("Can't call method on " + it); return it; }; /***/ }, /* 19 */ /***/ function(module, exports, __webpack_require__) { // indexed object, fallback for non-array-like ES3 strings var cof = __webpack_require__(20); module.exports = 0 in Object('z') ? Object : function(it){ return cof(it) == 'String' ? it.split('') : Object(it); }; /***/ }, /* 20 */ /***/ function(module, exports) { var toString = {}.toString; module.exports = function(it){ return toString.call(it).slice(8, -1); }; /***/ }, /* 21 */ /***/ function(module, exports, __webpack_require__) { // all enumerable object keys, includes symbols var $ = __webpack_require__(22); module.exports = function(it){ var keys = $.getKeys(it) , getSymbols = $.getSymbols; if(getSymbols){ var symbols = getSymbols(it) , isEnum = $.isEnum , i = 0 , key; while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key); } return keys; }; /***/ }, /* 22 */ /***/ function(module, exports) { var $Object = Object; module.exports = { create: $Object.create, getProto: $Object.getPrototypeOf, isEnum: {}.propertyIsEnumerable, getDesc: $Object.getOwnPropertyDescriptor, setDesc: $Object.defineProperty, setDescs: $Object.defineProperties, getKeys: $Object.keys, getNames: $Object.getOwnPropertyNames, getSymbols: $Object.getOwnPropertySymbols, each: [].forEach }; /***/ }, /* 23 */ /***/ function(module, exports) { var hasOwnProperty = {}.hasOwnProperty; module.exports = function(it, key){ return hasOwnProperty.call(it, key); }; /***/ }, /* 24 */ /***/ function(module, exports) { module.exports = function(exec){ try { return !!exec(); } catch(e){ return true; } }; /***/ }, /* 25 */ /***/ function(module, exports, __webpack_require__) { /* eslint react/prop-types: [2, {ignore: "bsStyle"}] */ /* BootstrapMixin contains `bsStyle` type validation */ 'use strict'; var _objectWithoutProperties = __webpack_require__(26)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var PanelGroup = _react2['default'].createClass({ displayName: 'PanelGroup', mixins: [_BootstrapMixin2['default']], propTypes: { accordion: _react2['default'].PropTypes.bool, activeKey: _react2['default'].PropTypes.any, className: _react2['default'].PropTypes.string, children: _react2['default'].PropTypes.node, defaultActiveKey: _react2['default'].PropTypes.any, onSelect: _react2['default'].PropTypes.func }, getDefaultProps: function getDefaultProps() { return { accordion: false, bsClass: 'panel-group' }; }, getInitialState: function getInitialState() { var defaultActiveKey = this.props.defaultActiveKey; return { activeKey: defaultActiveKey }; }, render: function render() { var classes = this.getBsClassSet(); var _props = this.props; var className = _props.className; var props = _objectWithoutProperties(_props, ['className']); if (this.props.accordion) { props.role = 'tablist'; } return _react2['default'].createElement( 'div', _extends({}, props, { className: _classnames2['default'](className, classes), onSelect: null }), _utilsValidComponentChildren2['default'].map(props.children, this.renderPanel) ); }, renderPanel: function renderPanel(child, index) { var activeKey = this.props.activeKey != null ? this.props.activeKey : this.state.activeKey; var props = { bsStyle: child.props.bsStyle || this.props.bsStyle, key: child.key ? child.key : index, ref: child.ref }; if (this.props.accordion) { props.headerRole = 'tab'; props.panelRole = 'tabpanel'; props.collapsible = true; props.expanded = child.props.eventKey === activeKey; props.onSelect = this.handleSelect; } return _react.cloneElement(child, props); }, shouldComponentUpdate: function shouldComponentUpdate() { // Defer any updates to this component during the `onSelect` handler. return !this._isChanging; }, handleSelect: function handleSelect(e, key) { e.preventDefault(); if (this.props.onSelect) { this._isChanging = true; this.props.onSelect(key); this._isChanging = false; } if (this.state.activeKey === key) { key = null; } this.setState({ activeKey: key }); } }); exports['default'] = PanelGroup; module.exports = exports['default']; /***/ }, /* 26 */ /***/ function(module, exports) { "use strict"; exports["default"] = function (obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }; exports.__esModule = true; /***/ }, /* 27 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/*! Copyright (c) 2015 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ /* global define */ (function () { 'use strict'; var hasOwn = {}.hasOwnProperty; function classNames () { var classes = ''; for (var i = 0; i < arguments.length; i++) { var arg = arguments[i]; if (!arg) continue; var argType = typeof arg; if (argType === 'string' || argType === 'number') { classes += ' ' + arg; } else if (Array.isArray(arg)) { classes += ' ' + classNames.apply(null, arg); } else if (argType === 'object') { for (var key in arg) { if (hasOwn.call(arg, key) && arg[key]) { classes += ' ' + key; } } } } return classes.substr(1); } if (typeof module !== 'undefined' && module.exports) { module.exports = classNames; } else if (true) { // register as 'classnames', consistent with npm package name !(__WEBPACK_AMD_DEFINE_RESULT__ = function () { return classNames; }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else { window.classNames = classNames; } }()); /***/ }, /* 28 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _styleMaps = __webpack_require__(29); var _styleMaps2 = _interopRequireDefault(_styleMaps); var _reactPropTypesLibKeyOf = __webpack_require__(30); var _reactPropTypesLibKeyOf2 = _interopRequireDefault(_reactPropTypesLibKeyOf); var BootstrapMixin = { propTypes: { /** * bootstrap className * @private */ bsClass: _reactPropTypesLibKeyOf2['default'](_styleMaps2['default'].CLASSES), /** * Style variants * @type {("default"|"primary"|"success"|"info"|"warning"|"danger"|"link")} */ bsStyle: _react2['default'].PropTypes.oneOf(_styleMaps2['default'].STYLES), /** * Size variants * @type {("xsmall"|"small"|"medium"|"large"|"xs"|"sm"|"md"|"lg")} */ bsSize: _reactPropTypesLibKeyOf2['default'](_styleMaps2['default'].SIZES) }, getBsClassSet: function getBsClassSet() { var classes = {}; var bsClass = this.props.bsClass && _styleMaps2['default'].CLASSES[this.props.bsClass]; if (bsClass) { classes[bsClass] = true; var prefix = bsClass + '-'; var bsSize = this.props.bsSize && _styleMaps2['default'].SIZES[this.props.bsSize]; if (bsSize) { classes[prefix + bsSize] = true; } if (this.props.bsStyle) { if (_styleMaps2['default'].STYLES.indexOf(this.props.bsStyle) >= 0) { classes[prefix + this.props.bsStyle] = true; } else { classes[this.props.bsStyle] = true; } } } return classes; }, prefixClass: function prefixClass(subClass) { return _styleMaps2['default'].CLASSES[this.props.bsClass] + '-' + subClass; } }; exports['default'] = BootstrapMixin; module.exports = exports['default']; /***/ }, /* 29 */ /***/ function(module, exports) { 'use strict'; exports.__esModule = true; var styleMaps = { CLASSES: { 'alert': 'alert', 'button': 'btn', 'button-group': 'btn-group', 'button-toolbar': 'btn-toolbar', 'column': 'col', 'input-group': 'input-group', 'form': 'form', 'glyphicon': 'glyphicon', 'label': 'label', 'thumbnail': 'thumbnail', 'list-group-item': 'list-group-item', 'panel': 'panel', 'panel-group': 'panel-group', 'pagination': 'pagination', 'progress-bar': 'progress-bar', 'nav': 'nav', 'navbar': 'navbar', 'modal': 'modal', 'row': 'row', 'well': 'well' }, STYLES: ['default', 'primary', 'success', 'info', 'warning', 'danger', 'link', 'inline', 'tabs', 'pills'], addStyle: function addStyle(name) { styleMaps.STYLES.push(name); }, SIZES: { 'large': 'lg', 'medium': 'md', 'small': 'sm', 'xsmall': 'xs', 'lg': 'lg', 'md': 'md', 'sm': 'sm', 'xs': 'xs' }, GRID_COLUMNS: 12 }; exports['default'] = styleMaps; module.exports = exports['default']; /***/ }, /* 30 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; exports['default'] = keyOf; var _common = __webpack_require__(31); /** * Checks whether a prop matches a key of an associated object * * @param props * @param propName * @param componentName * @returns {Error|undefined} */ function keyOf(obj) { function validate(props, propName, componentName) { var propValue = props[propName]; if (!obj.hasOwnProperty(propValue)) { var valuesString = JSON.stringify(Object.keys(obj)); return new Error(_common.errMsg(props, propName, componentName, ', expected one of ' + valuesString + '.')); } } return _common.createChainableTypeChecker(validate); } module.exports = exports['default']; /***/ }, /* 31 */ /***/ function(module, exports) { 'use strict'; exports.__esModule = true; exports.errMsg = errMsg; exports.createChainableTypeChecker = createChainableTypeChecker; function errMsg(props, propName, componentName, msgContinuation) { return 'Invalid prop \'' + propName + '\' of value \'' + props[propName] + '\'' + (' supplied to \'' + componentName + '\'' + msgContinuation); } /** * Create chain-able isRequired validator * * Largely copied directly from: * https://github.com/facebook/react/blob/0.11-stable/src/core/ReactPropTypes.js#L94 */ function createChainableTypeChecker(validate) { function checkType(isRequired, props, propName, componentName) { componentName = componentName || '<>'; if (props[propName] == null) { if (isRequired) { return new Error('Required prop \'' + propName + '\' was not specified in \'' + componentName + '\'.'); } } else { return validate(props, propName, componentName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } /***/ }, /* 32 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _AffixMixin = __webpack_require__(33); var _AffixMixin2 = _interopRequireDefault(_AffixMixin); var Affix = _react2['default'].createClass({ displayName: 'Affix', mixins: [_AffixMixin2['default']], render: function render() { var holderStyle = _extends({ top: this.state.affixPositionTop }, this.props.style); // eslint-disable-line react/prop-types return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, this.state.affixClass), style: holderStyle }), this.props.children ); } }); exports['default'] = Affix; module.exports = exports['default']; // we don't want to expose the `style` property /***/ }, /* 33 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _utilsDomUtils = __webpack_require__(35); var _utilsDomUtils2 = _interopRequireDefault(_utilsDomUtils); var _domHelpersQueryOffset = __webpack_require__(39); var _domHelpersQueryOffset2 = _interopRequireDefault(_domHelpersQueryOffset); var _utilsEventListener = __webpack_require__(43); var _utilsEventListener2 = _interopRequireDefault(_utilsEventListener); var AffixMixin = { propTypes: { offset: _react2['default'].PropTypes.number, offsetTop: _react2['default'].PropTypes.number, offsetBottom: _react2['default'].PropTypes.number }, getInitialState: function getInitialState() { return { affixClass: 'affix-top' }; }, getPinnedOffset: function getPinnedOffset(DOMNode) { if (this.pinnedOffset) { return this.pinnedOffset; } DOMNode.className = DOMNode.className.replace(/affix-top|affix-bottom|affix/, ''); DOMNode.className += DOMNode.className.length ? ' affix' : 'affix'; this.pinnedOffset = _domHelpersQueryOffset2['default'](DOMNode).top - window.pageYOffset; return this.pinnedOffset; }, checkPosition: function checkPosition() { var DOMNode = undefined, scrollHeight = undefined, scrollTop = undefined, position = undefined, offsetTop = undefined, offsetBottom = undefined, affix = undefined, affixType = undefined, affixPositionTop = undefined; // TODO: or not visible if (!this.isMounted()) { return; } DOMNode = _reactDom2['default'].findDOMNode(this); scrollHeight = _utilsDomUtils2['default'].getDocumentHeight(); scrollTop = window.pageYOffset; position = _domHelpersQueryOffset2['default'](DOMNode); if (this.affixed === 'top') { position.top += scrollTop; } offsetTop = this.props.offsetTop != null ? this.props.offsetTop : this.props.offset; offsetBottom = this.props.offsetBottom != null ? this.props.offsetBottom : this.props.offset; if (offsetTop == null && offsetBottom == null) { return; } if (offsetTop == null) { offsetTop = 0; } if (offsetBottom == null) { offsetBottom = 0; } if (this.unpin != null && scrollTop + this.unpin <= position.top) { affix = false; } else if (offsetBottom != null && position.top + DOMNode.offsetHeight >= scrollHeight - offsetBottom) { affix = 'bottom'; } else if (offsetTop != null && scrollTop <= offsetTop) { affix = 'top'; } else { affix = false; } if (this.affixed === affix) { return; } if (this.unpin != null) { DOMNode.style.top = ''; } affixType = 'affix' + (affix ? '-' + affix : ''); this.affixed = affix; this.unpin = affix === 'bottom' ? this.getPinnedOffset(DOMNode) : null; if (affix === 'bottom') { DOMNode.className = DOMNode.className.replace(/affix-top|affix-bottom|affix/, 'affix-bottom'); affixPositionTop = scrollHeight - offsetBottom - DOMNode.offsetHeight - _domHelpersQueryOffset2['default'](DOMNode).top; } this.setState({ affixClass: affixType, affixPositionTop: affixPositionTop }); }, checkPositionWithEventLoop: function checkPositionWithEventLoop() { setTimeout(this.checkPosition, 0); }, componentDidMount: function componentDidMount() { this._onWindowScrollListener = _utilsEventListener2['default'].listen(window, 'scroll', this.checkPosition); this._onDocumentClickListener = _utilsEventListener2['default'].listen(_utilsDomUtils2['default'].ownerDocument(this), 'click', this.checkPositionWithEventLoop); }, componentWillUnmount: function componentWillUnmount() { if (this._onWindowScrollListener) { this._onWindowScrollListener.remove(); } if (this._onDocumentClickListener) { this._onDocumentClickListener.remove(); } }, componentDidUpdate: function componentDidUpdate(prevProps, prevState) { if (prevState.affixClass === this.state.affixClass) { this.checkPositionWithEventLoop(); } } }; exports['default'] = AffixMixin; module.exports = exports['default']; /***/ }, /* 34 */ /***/ function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_34__; /***/ }, /* 35 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _domHelpersOwnerDocument = __webpack_require__(36); var _domHelpersOwnerDocument2 = _interopRequireDefault(_domHelpersOwnerDocument); var _domHelpersOwnerWindow = __webpack_require__(37); var _domHelpersOwnerWindow2 = _interopRequireDefault(_domHelpersOwnerWindow); function ownerDocument(componentOrElement) { var elem = _reactDom2['default'].findDOMNode(componentOrElement); return _domHelpersOwnerDocument2['default'](elem && elem.ownerDocument || document); } function ownerWindow(componentOrElement) { var doc = ownerDocument(componentOrElement); return _domHelpersOwnerWindow2['default'](doc); } /** * Get the height of the document * * @returns {documentHeight: number} */ function getDocumentHeight() { return Math.max(document.documentElement.offsetHeight, document.height, document.body.scrollHeight, document.body.offsetHeight); } /** * Get an element's size * * @param {HTMLElement} elem * @returns {{width: number, height: number}} */ function getSize(elem) { var rect = { width: elem.offsetWidth || 0, height: elem.offsetHeight || 0 }; if (typeof elem.getBoundingClientRect !== 'undefined') { var _elem$getBoundingClientRect = elem.getBoundingClientRect(); var width = _elem$getBoundingClientRect.width; var height = _elem$getBoundingClientRect.height; rect.width = width || rect.width; rect.height = height || rect.height; } return rect; } exports['default'] = { ownerWindow: ownerWindow, ownerDocument: ownerDocument, getDocumentHeight: getDocumentHeight, getSize: getSize }; module.exports = exports['default']; /***/ }, /* 36 */ /***/ function(module, exports) { "use strict"; exports.__esModule = true; exports["default"] = ownerDocument; function ownerDocument(node) { return node && node.ownerDocument || document; } module.exports = exports["default"]; /***/ }, /* 37 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var babelHelpers = __webpack_require__(38); exports.__esModule = true; exports['default'] = ownerWindow; var _ownerDocument = __webpack_require__(36); var _ownerDocument2 = babelHelpers.interopRequireDefault(_ownerDocument); function ownerWindow(node) { var doc = (0, _ownerDocument2['default'])(node); return doc && doc.defaultView || doc.parentWindow; } module.exports = exports['default']; /***/ }, /* 38 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) { if (true) { !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else if (typeof exports === "object") { factory(exports); } else { factory(root.babelHelpers = {}); } })(this, function (global) { var babelHelpers = global; babelHelpers.interopRequireDefault = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; babelHelpers._extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; }) /***/ }, /* 39 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var contains = __webpack_require__(40), getWindow = __webpack_require__(42), ownerDocument = __webpack_require__(36); module.exports = function offset(node) { var doc = ownerDocument(node), win = getWindow(doc), docElem = doc && doc.documentElement, box = { top: 0, left: 0, height: 0, width: 0 }; if (!doc) return; // Make sure it's not a disconnected DOM node if (!contains(docElem, node)) return box; if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect(); if (box.width || box.height) { box = { top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0), left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0), width: (box.width == null ? node.offsetWidth : box.width) || 0, height: (box.height == null ? node.offsetHeight : box.height) || 0 }; } return box; }; /***/ }, /* 40 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var canUseDOM = __webpack_require__(41); var contains = (function () { var root = canUseDOM && document.documentElement; return root && root.contains ? function (context, node) { return context.contains(node); } : root && root.compareDocumentPosition ? function (context, node) { return context === node || !!(context.compareDocumentPosition(node) & 16); } : function (context, node) { if (node) do { if (node === context) return true; } while (node = node.parentNode); return false; }; })(); module.exports = contains; /***/ }, /* 41 */ /***/ function(module, exports) { 'use strict'; module.exports = !!(typeof window !== 'undefined' && window.document && window.document.createElement); /***/ }, /* 42 */ /***/ function(module, exports) { 'use strict'; module.exports = function getWindow(node) { return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false; }; /***/ }, /* 43 */ /***/ function(module, exports) { /** * Copyright 2013-2014 Facebook, Inc. * * This file contains a modified version of: * https://github.com/facebook/react/blob/v0.12.0/src/vendor/stubs/EventListener.js * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * TODO: remove in favour of solution provided by: * https://github.com/facebook/react/issues/285 */ /** * Does not take into account specific nature of platform. */ 'use strict'; exports.__esModule = true; var EventListener = { /** * Listen to DOM events during the bubble phase. * * @param {DOMEventTarget} target DOM element to register listener on. * @param {string} eventType Event type, e.g. 'click' or 'mouseover'. * @param {function} callback Callback function. * @return {object} Object with a `remove` method. */ listen: function listen(target, eventType, callback) { if (target.addEventListener) { target.addEventListener(eventType, callback, false); return { remove: function remove() { target.removeEventListener(eventType, callback, false); } }; } else if (target.attachEvent) { target.attachEvent('on' + eventType, callback); return { remove: function remove() { target.detachEvent('on' + eventType, callback); } }; } } }; exports['default'] = EventListener; module.exports = exports['default']; /***/ }, /* 44 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var Alert = _react2['default'].createClass({ displayName: 'Alert', mixins: [_BootstrapMixin2['default']], propTypes: { onDismiss: _react2['default'].PropTypes.func, dismissAfter: _react2['default'].PropTypes.number, closeLabel: _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { bsClass: 'alert', bsStyle: 'info', closeLabel: 'Close Alert' }; }, renderDismissButton: function renderDismissButton() { return _react2['default'].createElement( 'button', { type: 'button', className: 'close', onClick: this.props.onDismiss, 'aria-hidden': 'true' }, _react2['default'].createElement( 'span', null, '×' ) ); }, renderSrOnlyDismissButton: function renderSrOnlyDismissButton() { return _react2['default'].createElement( 'button', { type: 'button', className: 'close sr-only', onClick: this.props.onDismiss }, this.props.closeLabel ); }, render: function render() { var classes = this.getBsClassSet(); var isDismissable = !!this.props.onDismiss; classes['alert-dismissable'] = isDismissable; return _react2['default'].createElement( 'div', _extends({}, this.props, { role: 'alert', className: _classnames2['default'](this.props.className, classes) }), isDismissable ? this.renderDismissButton() : null, this.props.children, isDismissable ? this.renderSrOnlyDismissButton() : null ); }, componentDidMount: function componentDidMount() { if (this.props.dismissAfter && this.props.onDismiss) { this.dismissTimer = setTimeout(this.props.onDismiss, this.props.dismissAfter); } }, componentWillUnmount: function componentWillUnmount() { clearTimeout(this.dismissTimer); } }); exports['default'] = Alert; module.exports = exports['default']; /***/ }, /* 45 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var Badge = _react2['default'].createClass({ displayName: 'Badge', propTypes: { pullRight: _react2['default'].PropTypes.bool }, getDefaultProps: function getDefaultProps() { return { pullRight: false }; }, hasContent: function hasContent() { return _utilsValidComponentChildren2['default'].hasValidComponent(this.props.children) || _react2['default'].Children.count(this.props.children) > 1 || typeof this.props.children === 'string' || typeof this.props.children === 'number'; }, render: function render() { var classes = { 'pull-right': this.props.pullRight, 'badge': this.hasContent() }; return _react2['default'].createElement( 'span', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.children ); } }); exports['default'] = Badge; module.exports = exports['default']; /***/ }, /* 46 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _objectWithoutProperties = __webpack_require__(26)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var Breadcrumb = _react2['default'].createClass({ displayName: 'Breadcrumb', propTypes: { /** * bootstrap className * @private */ bsClass: _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { bsClass: 'breadcrumb' }; }, render: function render() { var _props = this.props; var className = _props.className; var props = _objectWithoutProperties(_props, ['className']); return _react2['default'].createElement( 'ol', _extends({}, props, { role: 'navigation', 'aria-label': 'breadcrumbs', className: _classnames2['default'](className, this.props.bsClass) }), _utilsValidComponentChildren2['default'].map(this.props.children, this.renderBreadcrumbItem) ); }, renderBreadcrumbItem: function renderBreadcrumbItem(child, index) { return _react.cloneElement(child, { key: child.key ? child.key : index }); } }); exports['default'] = Breadcrumb; module.exports = exports['default']; /***/ }, /* 47 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _objectWithoutProperties = __webpack_require__(26)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _warning = __webpack_require__(48); var _warning2 = _interopRequireDefault(_warning); var _SafeAnchor = __webpack_require__(49); var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); var BreadcrumbItem = _react2['default'].createClass({ displayName: 'BreadcrumbItem', propTypes: { /** * If set to true, renders `span` instead of `a` */ active: _react2['default'].PropTypes.bool, /** * HTML id for the wrapper `li` element */ id: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]), /** * HTML id for the inner `a` element */ linkId: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]), /** * `href` attribute for the inner `a` element */ href: _react2['default'].PropTypes.string, /** * `title` attribute for the inner `a` element */ title: _react2['default'].PropTypes.node, /** * `target` attribute for the inner `a` element */ target: _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { active: false }; }, render: function render() { var _props = this.props; var active = _props.active; var className = _props.className; var id = _props.id; var linkId = _props.linkId; var children = _props.children; var href = _props.href; var title = _props.title; var target = _props.target; var props = _objectWithoutProperties(_props, ['active', 'className', 'id', 'linkId', 'children', 'href', 'title', 'target']); _warning2['default'](!(href && active), '[react-bootstrap] `href` and `active` properties cannot be set at the same time'); var linkProps = { href: href, title: title, target: target, id: linkId }; return _react2['default'].createElement( 'li', { id: id, className: _classnames2['default'](className, { active: active }) }, active ? _react2['default'].createElement( 'span', props, children ) : _react2['default'].createElement( _SafeAnchor2['default'], _extends({}, props, linkProps), children ) ); } }); exports['default'] = BreadcrumbItem; module.exports = exports['default']; /***/ }, /* 48 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ 'use strict'; /** * Similar to invariant but only logs a warning if the condition is not met. * This can be used to log issues in development environments in critical * paths. Removing the logging code for production environments will keep the * same logic and follow the same code paths. */ var warning = function() {}; if (true) { warning = function(condition, format, args) { var len = arguments.length; args = new Array(len > 2 ? len - 2 : 0); for (var key = 2; key < len; key++) { args[key - 2] = arguments[key]; } if (format === undefined) { throw new Error( '`warning(condition, format, ...args)` requires a warning ' + 'message argument' ); } if (format.length < 10 || (/^[s\W]*$/).test(format)) { throw new Error( 'The warning format should be able to uniquely identify this ' + 'warning. Please, use a more descriptive format than: ' + format ); } if (!condition) { var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function() { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.error(message); } try { // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch(x) {} } }; } module.exports = warning; /***/ }, /* 49 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); /** * Note: This is intended as a stop-gap for accessibility concerns that the * Bootstrap CSS does not address as they have styled anchors and not buttons * in many cases. */ var SafeAnchor = (function (_React$Component) { _inherits(SafeAnchor, _React$Component); function SafeAnchor(props) { _classCallCheck(this, SafeAnchor); _React$Component.call(this, props); this.handleClick = this.handleClick.bind(this); } SafeAnchor.prototype.handleClick = function handleClick(event) { if (this.props.href === undefined) { event.preventDefault(); } }; SafeAnchor.prototype.render = function render() { return _react2['default'].createElement('a', _extends({ role: this.props.href ? undefined : 'button' }, this.props, { onClick: _utilsCreateChainedFunction2['default'](this.props.onClick, this.handleClick), href: this.props.href || '' })); }; return SafeAnchor; })(_react2['default'].Component); exports['default'] = SafeAnchor; SafeAnchor.propTypes = { href: _react2['default'].PropTypes.string, onClick: _react2['default'].PropTypes.func }; module.exports = exports['default']; /***/ }, /* 50 */ /***/ function(module, exports, __webpack_require__) { "use strict"; var _Object$create = __webpack_require__(51)["default"]; var _Object$setPrototypeOf = __webpack_require__(53)["default"]; exports["default"] = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = _Object$create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) _Object$setPrototypeOf ? _Object$setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }; exports.__esModule = true; /***/ }, /* 51 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(52), __esModule: true }; /***/ }, /* 52 */ /***/ function(module, exports, __webpack_require__) { var $ = __webpack_require__(22); module.exports = function create(P, D){ return $.create(P, D); }; /***/ }, /* 53 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(54), __esModule: true }; /***/ }, /* 54 */ /***/ function(module, exports, __webpack_require__) { __webpack_require__(55); module.exports = __webpack_require__(15).Object.setPrototypeOf; /***/ }, /* 55 */ /***/ function(module, exports, __webpack_require__) { // 19.1.3.19 Object.setPrototypeOf(O, proto) var $def = __webpack_require__(13); $def($def.S, 'Object', {setPrototypeOf: __webpack_require__(56).set}); /***/ }, /* 56 */ /***/ function(module, exports, __webpack_require__) { // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ var getDesc = __webpack_require__(22).getDesc , isObject = __webpack_require__(57) , anObject = __webpack_require__(58); var check = function(O, proto){ anObject(O); if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); }; module.exports = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line no-proto function(test, buggy, set){ try { set = __webpack_require__(59)(Function.call, getDesc(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); } catch(e){ buggy = true; } return function setPrototypeOf(O, proto){ check(O, proto); if(buggy)O.__proto__ = proto; else set(O, proto); return O; }; }({}, false) : undefined), check: check }; /***/ }, /* 57 */ /***/ function(module, exports) { module.exports = function(it){ return typeof it === 'object' ? it !== null : typeof it === 'function'; }; /***/ }, /* 58 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(57); module.exports = function(it){ if(!isObject(it))throw TypeError(it + ' is not an object!'); return it; }; /***/ }, /* 59 */ /***/ function(module, exports, __webpack_require__) { // optional / simple context binding var aFunction = __webpack_require__(60); module.exports = function(fn, that, length){ aFunction(fn); if(that === undefined)return fn; switch(length){ case 1: return function(a){ return fn.call(that, a); }; case 2: return function(a, b){ return fn.call(that, a, b); }; case 3: return function(a, b, c){ return fn.call(that, a, b, c); }; } return function(/* ...args */){ return fn.apply(that, arguments); }; }; /***/ }, /* 60 */ /***/ function(module, exports) { module.exports = function(it){ if(typeof it != 'function')throw TypeError(it + ' is not a function!'); return it; }; /***/ }, /* 61 */ /***/ function(module, exports) { "use strict"; exports["default"] = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; exports.__esModule = true; /***/ }, /* 62 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var _ButtonInput = __webpack_require__(64); var _ButtonInput2 = _interopRequireDefault(_ButtonInput); var Button = _react2['default'].createClass({ displayName: 'Button', mixins: [_BootstrapMixin2['default']], propTypes: { active: _react2['default'].PropTypes.bool, disabled: _react2['default'].PropTypes.bool, block: _react2['default'].PropTypes.bool, navItem: _react2['default'].PropTypes.bool, navDropdown: _react2['default'].PropTypes.bool, /** * You can use a custom element for this component */ componentClass: _reactPropTypesLibElementType2['default'], href: _react2['default'].PropTypes.string, target: _react2['default'].PropTypes.string, /** * Defines HTML button type Attribute * @type {("button"|"reset"|"submit")} * @defaultValue 'button' */ type: _react2['default'].PropTypes.oneOf(_ButtonInput2['default'].types) }, getDefaultProps: function getDefaultProps() { return { active: false, block: false, bsClass: 'button', bsStyle: 'default', disabled: false, navItem: false, navDropdown: false }; }, render: function render() { var classes = this.props.navDropdown ? {} : this.getBsClassSet(); var renderFuncName = undefined; classes = _extends({ active: this.props.active, 'btn-block': this.props.block }, classes); if (this.props.navItem) { return this.renderNavItem(classes); } renderFuncName = this.props.href || this.props.target || this.props.navDropdown ? 'renderAnchor' : 'renderButton'; return this[renderFuncName](classes); }, renderAnchor: function renderAnchor(classes) { var Component = this.props.componentClass || 'a'; var href = this.props.href || '#'; classes.disabled = this.props.disabled; return _react2['default'].createElement( Component, _extends({}, this.props, { href: href, className: _classnames2['default'](this.props.className, classes), role: 'button' }), this.props.children ); }, renderButton: function renderButton(classes) { var Component = this.props.componentClass || 'button'; return _react2['default'].createElement( Component, _extends({}, this.props, { type: this.props.type || 'button', className: _classnames2['default'](this.props.className, classes) }), this.props.children ); }, renderNavItem: function renderNavItem(classes) { var liClasses = { active: this.props.active }; return _react2['default'].createElement( 'li', { className: _classnames2['default'](liClasses) }, this.renderAnchor(classes) ); } }); exports['default'] = Button; module.exports = exports['default']; /***/ }, /* 63 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _common = __webpack_require__(31); /** * Checks whether a prop provides a type of element. * * The type of element can be provided in two forms: * - tag name (string) * - a return value of React.createClass(...) * * @param props * @param propName * @param componentName * @returns {Error|undefined} */ function validate(props, propName, componentName) { var errBeginning = _common.errMsg(props, propName, componentName, '. Expected an Element `type`'); if (typeof props[propName] !== 'function') { if (_react2['default'].isValidElement(props[propName])) { return new Error(errBeginning + ', not an actual Element'); } if (typeof props[propName] !== 'string') { return new Error(errBeginning + ' such as a tag name or return value of React.createClass(...)'); } } } exports['default'] = _common.createChainableTypeChecker(validate); module.exports = exports['default']; /***/ }, /* 64 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _Button = __webpack_require__(62); var _Button2 = _interopRequireDefault(_Button); var _FormGroup = __webpack_require__(65); var _FormGroup2 = _interopRequireDefault(_FormGroup); var _InputBase2 = __webpack_require__(66); var _InputBase3 = _interopRequireDefault(_InputBase2); var _utilsChildrenValueInputValidation = __webpack_require__(3); var _utilsChildrenValueInputValidation2 = _interopRequireDefault(_utilsChildrenValueInputValidation); var ButtonInput = (function (_InputBase) { _inherits(ButtonInput, _InputBase); function ButtonInput() { _classCallCheck(this, ButtonInput); _InputBase.apply(this, arguments); } ButtonInput.prototype.renderFormGroup = function renderFormGroup(children) { var _props = this.props; var bsStyle = _props.bsStyle; var value = _props.value; var other = _objectWithoutProperties(_props, ['bsStyle', 'value']); return _react2['default'].createElement( _FormGroup2['default'], other, children ); }; ButtonInput.prototype.renderInput = function renderInput() { var _props2 = this.props; var children = _props2.children; var value = _props2.value; var other = _objectWithoutProperties(_props2, ['children', 'value']); var val = children ? children : value; return _react2['default'].createElement(_Button2['default'], _extends({}, other, { componentClass: 'input', ref: 'input', key: 'input', value: val })); }; return ButtonInput; })(_InputBase3['default']); ButtonInput.types = ['button', 'reset', 'submit']; ButtonInput.defaultProps = { type: 'button' }; ButtonInput.propTypes = { type: _react2['default'].PropTypes.oneOf(ButtonInput.types), bsStyle: function bsStyle() { // defer to Button propTypes of bsStyle return null; }, children: _utilsChildrenValueInputValidation2['default'], value: _utilsChildrenValueInputValidation2['default'] }; exports['default'] = ButtonInput; module.exports = exports['default']; /***/ }, /* 65 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var FormGroup = (function (_React$Component) { _inherits(FormGroup, _React$Component); function FormGroup() { _classCallCheck(this, FormGroup); _React$Component.apply(this, arguments); } FormGroup.prototype.render = function render() { var classes = { 'form-group': !this.props.standalone, 'form-group-lg': !this.props.standalone && this.props.bsSize === 'large', 'form-group-sm': !this.props.standalone && this.props.bsSize === 'small', 'has-feedback': this.props.hasFeedback, 'has-success': this.props.bsStyle === 'success', 'has-warning': this.props.bsStyle === 'warning', 'has-error': this.props.bsStyle === 'error' }; return _react2['default'].createElement( 'div', { className: _classnames2['default'](classes, this.props.groupClassName) }, this.props.children ); }; return FormGroup; })(_react2['default'].Component); FormGroup.defaultProps = { hasFeedback: false, standalone: false }; FormGroup.propTypes = { standalone: _react2['default'].PropTypes.bool, hasFeedback: _react2['default'].PropTypes.bool, bsSize: function bsSize(props) { if (props.standalone && props.bsSize !== undefined) { return new Error('bsSize will not be used when `standalone` is set.'); } return _react2['default'].PropTypes.oneOf(['small', 'medium', 'large']).apply(null, arguments); }, bsStyle: _react2['default'].PropTypes.oneOf(['success', 'warning', 'error']), groupClassName: _react2['default'].PropTypes.string }; exports['default'] = FormGroup; module.exports = exports['default']; /***/ }, /* 66 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _FormGroup = __webpack_require__(65); var _FormGroup2 = _interopRequireDefault(_FormGroup); var _Glyphicon = __webpack_require__(67); var _Glyphicon2 = _interopRequireDefault(_Glyphicon); var InputBase = (function (_React$Component) { _inherits(InputBase, _React$Component); function InputBase() { _classCallCheck(this, InputBase); _React$Component.apply(this, arguments); } InputBase.prototype.getInputDOMNode = function getInputDOMNode() { return this.refs.input; }; InputBase.prototype.getValue = function getValue() { if (this.props.type === 'static') { return this.props.value; } else if (this.props.type) { if (this.props.type === 'select' && this.props.multiple) { return this.getSelectedOptions(); } return this.getInputDOMNode().value; } throw new Error('Cannot use getValue without specifying input type.'); }; InputBase.prototype.getChecked = function getChecked() { return this.getInputDOMNode().checked; }; InputBase.prototype.getSelectedOptions = function getSelectedOptions() { var values = []; Array.prototype.forEach.call(this.getInputDOMNode().getElementsByTagName('option'), function (option) { if (option.selected) { var value = option.getAttribute('value') || option.innerHtml; values.push(value); } }); return values; }; InputBase.prototype.isCheckboxOrRadio = function isCheckboxOrRadio() { return this.props.type === 'checkbox' || this.props.type === 'radio'; }; InputBase.prototype.isFile = function isFile() { return this.props.type === 'file'; }; InputBase.prototype.renderInputGroup = function renderInputGroup(children) { var addonBefore = this.props.addonBefore ? _react2['default'].createElement( 'span', { className: 'input-group-addon', key: 'addonBefore' }, this.props.addonBefore ) : null; var addonAfter = this.props.addonAfter ? _react2['default'].createElement( 'span', { className: 'input-group-addon', key: 'addonAfter' }, this.props.addonAfter ) : null; var buttonBefore = this.props.buttonBefore ? _react2['default'].createElement( 'span', { className: 'input-group-btn' }, this.props.buttonBefore ) : null; var buttonAfter = this.props.buttonAfter ? _react2['default'].createElement( 'span', { className: 'input-group-btn' }, this.props.buttonAfter ) : null; var inputGroupClassName = undefined; switch (this.props.bsSize) { case 'small': inputGroupClassName = 'input-group-sm';break; case 'large': inputGroupClassName = 'input-group-lg';break; default: } return addonBefore || addonAfter || buttonBefore || buttonAfter ? _react2['default'].createElement( 'div', { className: _classnames2['default'](inputGroupClassName, 'input-group'), key: 'input-group' }, addonBefore, buttonBefore, children, addonAfter, buttonAfter ) : children; }; InputBase.prototype.renderIcon = function renderIcon() { if (this.props.hasFeedback) { if (this.props.feedbackIcon) { return _react2['default'].cloneElement(this.props.feedbackIcon, { formControlFeedback: true }); } switch (this.props.bsStyle) { case 'success': return _react2['default'].createElement(_Glyphicon2['default'], { formControlFeedback: true, glyph: 'ok', key: 'icon' }); case 'warning': return _react2['default'].createElement(_Glyphicon2['default'], { formControlFeedback: true, glyph: 'warning-sign', key: 'icon' }); case 'error': return _react2['default'].createElement(_Glyphicon2['default'], { formControlFeedback: true, glyph: 'remove', key: 'icon' }); default: return _react2['default'].createElement('span', { className: 'form-control-feedback', key: 'icon' }); } } else { return null; } }; InputBase.prototype.renderHelp = function renderHelp() { return this.props.help ? _react2['default'].createElement( 'span', { className: 'help-block', key: 'help' }, this.props.help ) : null; }; InputBase.prototype.renderCheckboxAndRadioWrapper = function renderCheckboxAndRadioWrapper(children) { var classes = { 'checkbox': this.props.type === 'checkbox', 'radio': this.props.type === 'radio' }; return _react2['default'].createElement( 'div', { className: _classnames2['default'](classes), key: 'checkboxRadioWrapper' }, children ); }; InputBase.prototype.renderWrapper = function renderWrapper(children) { return this.props.wrapperClassName ? _react2['default'].createElement( 'div', { className: this.props.wrapperClassName, key: 'wrapper' }, children ) : children; }; InputBase.prototype.renderLabel = function renderLabel(children) { var classes = { 'control-label': !this.isCheckboxOrRadio() }; classes[this.props.labelClassName] = this.props.labelClassName; return this.props.label ? _react2['default'].createElement( 'label', { htmlFor: this.props.id, className: _classnames2['default'](classes), key: 'label' }, children, this.props.label ) : children; }; InputBase.prototype.renderInput = function renderInput() { if (!this.props.type) { return this.props.children; } switch (this.props.type) { case 'select': return _react2['default'].createElement( 'select', _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'form-control'), ref: 'input', key: 'input' }), this.props.children ); case 'textarea': return _react2['default'].createElement('textarea', _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'form-control'), ref: 'input', key: 'input' })); case 'static': return _react2['default'].createElement( 'p', _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'form-control-static'), ref: 'input', key: 'input' }), this.props.value ); default: var className = this.isCheckboxOrRadio() || this.isFile() ? '' : 'form-control'; return _react2['default'].createElement('input', _extends({}, this.props, { className: _classnames2['default'](this.props.className, className), ref: 'input', key: 'input' })); } }; InputBase.prototype.renderFormGroup = function renderFormGroup(children) { return _react2['default'].createElement( _FormGroup2['default'], this.props, children ); }; InputBase.prototype.renderChildren = function renderChildren() { return !this.isCheckboxOrRadio() ? [this.renderLabel(), this.renderWrapper([this.renderInputGroup(this.renderInput()), this.renderIcon(), this.renderHelp()])] : this.renderWrapper([this.renderCheckboxAndRadioWrapper(this.renderLabel(this.renderInput())), this.renderHelp()]); }; InputBase.prototype.render = function render() { var children = this.renderChildren(); return this.renderFormGroup(children); }; return InputBase; })(_react2['default'].Component); InputBase.propTypes = { type: _react2['default'].PropTypes.string, label: _react2['default'].PropTypes.node, help: _react2['default'].PropTypes.node, addonBefore: _react2['default'].PropTypes.node, addonAfter: _react2['default'].PropTypes.node, buttonBefore: _react2['default'].PropTypes.node, buttonAfter: _react2['default'].PropTypes.node, bsSize: _react2['default'].PropTypes.oneOf(['small', 'medium', 'large']), bsStyle: _react2['default'].PropTypes.oneOf(['success', 'warning', 'error']), hasFeedback: _react2['default'].PropTypes.bool, feedbackIcon: _react2['default'].PropTypes.node, id: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]), groupClassName: _react2['default'].PropTypes.string, wrapperClassName: _react2['default'].PropTypes.string, labelClassName: _react2['default'].PropTypes.string, multiple: _react2['default'].PropTypes.bool, disabled: _react2['default'].PropTypes.bool, value: _react2['default'].PropTypes.any }; InputBase.defaultProps = { disabled: false, hasFeedback: false, multiple: false }; exports['default'] = InputBase; module.exports = exports['default']; /***/ }, /* 67 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var Glyphicon = _react2['default'].createClass({ displayName: 'Glyphicon', propTypes: { /** * bootstrap className * @private */ bsClass: _react2['default'].PropTypes.string, /** * An icon name. See e.g. http://getbootstrap.com/components/#glyphicons */ glyph: _react2['default'].PropTypes.string.isRequired, /** * Adds 'form-control-feedback' class * @private */ formControlFeedback: _react2['default'].PropTypes.bool }, getDefaultProps: function getDefaultProps() { return { bsClass: 'glyphicon', formControlFeedback: false }; }, render: function render() { var _classNames; var className = _classnames2['default'](this.props.className, (_classNames = {}, _classNames[this.props.bsClass] = true, _classNames['glyphicon-' + this.props.glyph] = true, _classNames['form-control-feedback'] = this.props.formControlFeedback, _classNames)); return _react2['default'].createElement( 'span', _extends({}, this.props, { className: className }), this.props.children ); } }); exports['default'] = Glyphicon; module.exports = exports['default']; /***/ }, /* 68 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _reactPropTypesLibAll = __webpack_require__(69); var _reactPropTypesLibAll2 = _interopRequireDefault(_reactPropTypesLibAll); var ButtonGroup = _react2['default'].createClass({ displayName: 'ButtonGroup', mixins: [_BootstrapMixin2['default']], propTypes: { vertical: _react2['default'].PropTypes.bool, justified: _react2['default'].PropTypes.bool, /** * Display block buttons, only useful when used with the "vertical" prop. * @type {bool} */ block: _reactPropTypesLibAll2['default'](_react2['default'].PropTypes.bool, function (props) { if (props.block && !props.vertical) { return new Error('The block property requires the vertical property to be set to have any effect'); } }) }, getDefaultProps: function getDefaultProps() { return { block: false, bsClass: 'button-group', justified: false, vertical: false }; }, render: function render() { var classes = this.getBsClassSet(); classes['btn-group'] = !this.props.vertical; classes['btn-group-vertical'] = this.props.vertical; classes['btn-group-justified'] = this.props.justified; classes['btn-block'] = this.props.block; return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.children ); } }); exports['default'] = ButtonGroup; module.exports = exports['default']; /***/ }, /* 69 */ /***/ function(module, exports) { 'use strict'; exports.__esModule = true; exports['default'] = all; function all() { for (var _len = arguments.length, propTypes = Array(_len), _key = 0; _key < _len; _key++) { propTypes[_key] = arguments[_key]; } if (propTypes === undefined) { throw new Error('No validations provided'); } if (propTypes.some(function (propType) { return typeof propType !== 'function'; })) { throw new Error('Invalid arguments, must be functions'); } if (propTypes.length === 0) { throw new Error('No validations provided'); } return function validate(props, propName, componentName) { for (var i = 0; i < propTypes.length; i++) { var result = propTypes[i](props, propName, componentName); if (result !== undefined && result !== null) { return result; } } }; } module.exports = exports['default']; /***/ }, /* 70 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var ButtonToolbar = _react2['default'].createClass({ displayName: 'ButtonToolbar', mixins: [_BootstrapMixin2['default']], getDefaultProps: function getDefaultProps() { return { bsClass: 'button-toolbar' }; }, render: function render() { var classes = this.getBsClassSet(); return _react2['default'].createElement( 'div', _extends({}, this.props, { role: 'toolbar', className: _classnames2['default'](this.props.className, classes) }), this.props.children ); } }); exports['default'] = ButtonToolbar; module.exports = exports['default']; /***/ }, /* 71 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var _Glyphicon = __webpack_require__(67); var _Glyphicon2 = _interopRequireDefault(_Glyphicon); var Carousel = _react2['default'].createClass({ displayName: 'Carousel', mixins: [_BootstrapMixin2['default']], propTypes: { slide: _react2['default'].PropTypes.bool, indicators: _react2['default'].PropTypes.bool, interval: _react2['default'].PropTypes.number, controls: _react2['default'].PropTypes.bool, pauseOnHover: _react2['default'].PropTypes.bool, wrap: _react2['default'].PropTypes.bool, onSelect: _react2['default'].PropTypes.func, onSlideEnd: _react2['default'].PropTypes.func, activeIndex: _react2['default'].PropTypes.number, defaultActiveIndex: _react2['default'].PropTypes.number, direction: _react2['default'].PropTypes.oneOf(['prev', 'next']), prevIcon: _react2['default'].PropTypes.node, nextIcon: _react2['default'].PropTypes.node }, getDefaultProps: function getDefaultProps() { return { slide: true, interval: 5000, pauseOnHover: true, wrap: true, indicators: true, controls: true, prevIcon: _react2['default'].createElement(_Glyphicon2['default'], { glyph: 'chevron-left' }), nextIcon: _react2['default'].createElement(_Glyphicon2['default'], { glyph: 'chevron-right' }) }; }, getInitialState: function getInitialState() { return { activeIndex: this.props.defaultActiveIndex == null ? 0 : this.props.defaultActiveIndex, previousActiveIndex: null, direction: null }; }, getDirection: function getDirection(prevIndex, index) { if (prevIndex === index) { return null; } return prevIndex > index ? 'prev' : 'next'; }, componentWillReceiveProps: function componentWillReceiveProps(nextProps) { var activeIndex = this.getActiveIndex(); if (nextProps.activeIndex != null && nextProps.activeIndex !== activeIndex) { clearTimeout(this.timeout); this.setState({ previousActiveIndex: activeIndex, direction: nextProps.direction != null ? nextProps.direction : this.getDirection(activeIndex, nextProps.activeIndex) }); } }, componentDidMount: function componentDidMount() { this.waitForNext(); }, componentWillUnmount: function componentWillUnmount() { clearTimeout(this.timeout); }, next: function next(e) { if (e) { e.preventDefault(); } var index = this.getActiveIndex() + 1; var count = _utilsValidComponentChildren2['default'].numberOf(this.props.children); if (index > count - 1) { if (!this.props.wrap) { return; } index = 0; } this.handleSelect(index, 'next'); }, prev: function prev(e) { if (e) { e.preventDefault(); } var index = this.getActiveIndex() - 1; if (index < 0) { if (!this.props.wrap) { return; } index = _utilsValidComponentChildren2['default'].numberOf(this.props.children) - 1; } this.handleSelect(index, 'prev'); }, pause: function pause() { this.isPaused = true; clearTimeout(this.timeout); }, play: function play() { this.isPaused = false; this.waitForNext(); }, waitForNext: function waitForNext() { if (!this.isPaused && this.props.slide && this.props.interval && this.props.activeIndex == null) { this.timeout = setTimeout(this.next, this.props.interval); } }, handleMouseOver: function handleMouseOver() { if (this.props.pauseOnHover) { this.pause(); } }, handleMouseOut: function handleMouseOut() { if (this.isPaused) { this.play(); } }, render: function render() { var classes = { carousel: true, slide: this.props.slide }; return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes), onMouseOver: this.handleMouseOver, onMouseOut: this.handleMouseOut }), this.props.indicators ? this.renderIndicators() : null, _react2['default'].createElement( 'div', { className: 'carousel-inner', ref: 'inner' }, _utilsValidComponentChildren2['default'].map(this.props.children, this.renderItem) ), this.props.controls ? this.renderControls() : null ); }, renderPrev: function renderPrev() { return _react2['default'].createElement( 'a', { className: 'left carousel-control', href: '#prev', key: 0, onClick: this.prev }, this.props.prevIcon ); }, renderNext: function renderNext() { return _react2['default'].createElement( 'a', { className: 'right carousel-control', href: '#next', key: 1, onClick: this.next }, this.props.nextIcon ); }, renderControls: function renderControls() { if (!this.props.wrap) { var activeIndex = this.getActiveIndex(); var count = _utilsValidComponentChildren2['default'].numberOf(this.props.children); return [activeIndex !== 0 ? this.renderPrev() : null, activeIndex !== count - 1 ? this.renderNext() : null]; } return [this.renderPrev(), this.renderNext()]; }, renderIndicator: function renderIndicator(child, index) { var className = index === this.getActiveIndex() ? 'active' : null; return _react2['default'].createElement('li', { key: index, className: className, onClick: this.handleSelect.bind(this, index, null) }); }, renderIndicators: function renderIndicators() { var _this = this; var indicators = []; _utilsValidComponentChildren2['default'].forEach(this.props.children, function (child, index) { indicators.push(_this.renderIndicator(child, index), // Force whitespace between indicator elements, bootstrap // requires this for correct spacing of elements. ' '); }, this); return _react2['default'].createElement( 'ol', { className: 'carousel-indicators' }, indicators ); }, getActiveIndex: function getActiveIndex() { return this.props.activeIndex != null ? this.props.activeIndex : this.state.activeIndex; }, handleItemAnimateOutEnd: function handleItemAnimateOutEnd() { var _this2 = this; this.setState({ previousActiveIndex: null, direction: null }, function () { _this2.waitForNext(); if (_this2.props.onSlideEnd) { _this2.props.onSlideEnd(); } }); }, renderItem: function renderItem(child, index) { var activeIndex = this.getActiveIndex(); var isActive = index === activeIndex; var isPreviousActive = this.state.previousActiveIndex != null && this.state.previousActiveIndex === index && this.props.slide; return _react.cloneElement(child, { active: isActive, ref: child.ref, key: child.key ? child.key : index, index: index, animateOut: isPreviousActive, animateIn: isActive && this.state.previousActiveIndex != null && this.props.slide, direction: this.state.direction, onAnimateOutEnd: isPreviousActive ? this.handleItemAnimateOutEnd : null }); }, handleSelect: function handleSelect(index, direction) { clearTimeout(this.timeout); if (this.isMounted()) { var previousActiveIndex = this.getActiveIndex(); direction = direction || this.getDirection(previousActiveIndex, index); if (this.props.onSelect) { this.props.onSelect(index, direction); } if (this.props.activeIndex == null && index !== previousActiveIndex) { if (this.state.previousActiveIndex != null) { // If currently animating don't activate the new index. // TODO: look into queuing this canceled call and // animating after the current animation has ended. return; } this.setState({ activeIndex: index, previousActiveIndex: previousActiveIndex, direction: direction }); } } } }); exports['default'] = Carousel; module.exports = exports['default']; /***/ }, /* 72 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _utilsTransitionEvents = __webpack_require__(73); var _utilsTransitionEvents2 = _interopRequireDefault(_utilsTransitionEvents); var CarouselItem = _react2['default'].createClass({ displayName: 'CarouselItem', propTypes: { direction: _react2['default'].PropTypes.oneOf(['prev', 'next']), onAnimateOutEnd: _react2['default'].PropTypes.func, active: _react2['default'].PropTypes.bool, animateIn: _react2['default'].PropTypes.bool, animateOut: _react2['default'].PropTypes.bool, caption: _react2['default'].PropTypes.node, index: _react2['default'].PropTypes.number }, getInitialState: function getInitialState() { return { direction: null }; }, getDefaultProps: function getDefaultProps() { return { active: false, animateIn: false, animateOut: false }; }, handleAnimateOutEnd: function handleAnimateOutEnd() { if (this.props.onAnimateOutEnd && this.isMounted()) { this.props.onAnimateOutEnd(this.props.index); } }, componentWillReceiveProps: function componentWillReceiveProps(nextProps) { if (this.props.active !== nextProps.active) { this.setState({ direction: null }); } }, componentDidUpdate: function componentDidUpdate(prevProps) { if (!this.props.active && prevProps.active) { _utilsTransitionEvents2['default'].addEndEventListener(_reactDom2['default'].findDOMNode(this), this.handleAnimateOutEnd); } if (this.props.active !== prevProps.active) { setTimeout(this.startAnimation, 20); } }, startAnimation: function startAnimation() { if (!this.isMounted()) { return; } this.setState({ direction: this.props.direction === 'prev' ? 'right' : 'left' }); }, render: function render() { var classes = { item: true, active: this.props.active && !this.props.animateIn || this.props.animateOut, next: this.props.active && this.props.animateIn && this.props.direction === 'next', prev: this.props.active && this.props.animateIn && this.props.direction === 'prev' }; if (this.state.direction && (this.props.animateIn || this.props.animateOut)) { classes[this.state.direction] = true; } return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.children, this.props.caption ? this.renderCaption() : null ); }, renderCaption: function renderCaption() { return _react2['default'].createElement( 'div', { className: 'carousel-caption' }, this.props.caption ); } }); exports['default'] = CarouselItem; module.exports = exports['default']; /***/ }, /* 73 */ /***/ function(module, exports) { /** * Copyright 2013-2014, Facebook, Inc. * All rights reserved. * * This file contains a modified version of: * https://github.com/facebook/react/blob/v0.12.0/src/addons/transitions/ReactTransitionEvents.js * * This source code is licensed under the BSD-style license found here: * https://github.com/facebook/react/blob/v0.12.0/LICENSE * An additional grant of patent rights can be found here: * https://github.com/facebook/react/blob/v0.12.0/PATENTS */ 'use strict'; exports.__esModule = true; var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); /** * EVENT_NAME_MAP is used to determine which event fired when a * transition/animation ends, based on the style property used to * define that event. */ var EVENT_NAME_MAP = { transitionend: { 'transition': 'transitionend', 'WebkitTransition': 'webkitTransitionEnd', 'MozTransition': 'mozTransitionEnd', 'OTransition': 'oTransitionEnd', 'msTransition': 'MSTransitionEnd' }, animationend: { 'animation': 'animationend', 'WebkitAnimation': 'webkitAnimationEnd', 'MozAnimation': 'mozAnimationEnd', 'OAnimation': 'oAnimationEnd', 'msAnimation': 'MSAnimationEnd' } }; var endEvents = []; function detectEvents() { var testEl = document.createElement('div'); var style = testEl.style; // On some platforms, in particular some releases of Android 4.x, // the un-prefixed "animation" and "transition" properties are defined on the // style object but the events that fire will still be prefixed, so we need // to check if the un-prefixed events are useable, and if not remove them // from the map if (!('AnimationEvent' in window)) { delete EVENT_NAME_MAP.animationend.animation; } if (!('TransitionEvent' in window)) { delete EVENT_NAME_MAP.transitionend.transition; } for (var baseEventName in EVENT_NAME_MAP) { // eslint-disable-line guard-for-in var baseEvents = EVENT_NAME_MAP[baseEventName]; for (var styleName in baseEvents) { if (styleName in style) { endEvents.push(baseEvents[styleName]); break; } } } } if (canUseDOM) { detectEvents(); } // We use the raw {add|remove}EventListener() call because EventListener // does not know how to remove event listeners and we really should // clean up. Also, these events are not triggered in older browsers // so we should be A-OK here. function addEventListener(node, eventName, eventListener) { node.addEventListener(eventName, eventListener, false); } function removeEventListener(node, eventName, eventListener) { node.removeEventListener(eventName, eventListener, false); } var ReactTransitionEvents = { addEndEventListener: function addEndEventListener(node, eventListener) { if (endEvents.length === 0) { // If CSS transitions are not supported, trigger an "end animation" // event immediately. window.setTimeout(eventListener, 0); return; } endEvents.forEach(function (endEvent) { addEventListener(node, endEvent, eventListener); }); }, removeEndEventListener: function removeEndEventListener(node, eventListener) { if (endEvents.length === 0) { return; } endEvents.forEach(function (endEvent) { removeEventListener(node, endEvent, eventListener); }); } }; exports['default'] = ReactTransitionEvents; module.exports = exports['default']; /***/ }, /* 74 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _Object$keys = __webpack_require__(75)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _styleMaps = __webpack_require__(29); var _styleMaps2 = _interopRequireDefault(_styleMaps); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var Col = _react2['default'].createClass({ displayName: 'Col', propTypes: { /** * The number of columns you wish to span * * for Extra small devices Phones (<768px) * * class-prefix `col-xs-` */ xs: _react2['default'].PropTypes.number, /** * The number of columns you wish to span * * for Small devices Tablets (≥768px) * * class-prefix `col-sm-` */ sm: _react2['default'].PropTypes.number, /** * The number of columns you wish to span * * for Medium devices Desktops (≥992px) * * class-prefix `col-md-` */ md: _react2['default'].PropTypes.number, /** * The number of columns you wish to span * * for Large devices Desktops (≥1200px) * * class-prefix `col-lg-` */ lg: _react2['default'].PropTypes.number, /** * Move columns to the right * * for Extra small devices Phones * * class-prefix `col-xs-offset-` */ xsOffset: _react2['default'].PropTypes.number, /** * Move columns to the right * * for Small devices Tablets * * class-prefix `col-sm-offset-` */ smOffset: _react2['default'].PropTypes.number, /** * Move columns to the right * * for Medium devices Desktops * * class-prefix `col-md-offset-` */ mdOffset: _react2['default'].PropTypes.number, /** * Move columns to the right * * for Large devices Desktops * * class-prefix `col-lg-offset-` */ lgOffset: _react2['default'].PropTypes.number, /** * Change the order of grid columns to the right * * for Extra small devices Phones * * class-prefix `col-xs-push-` */ xsPush: _react2['default'].PropTypes.number, /** * Change the order of grid columns to the right * * for Small devices Tablets * * class-prefix `col-sm-push-` */ smPush: _react2['default'].PropTypes.number, /** * Change the order of grid columns to the right * * for Medium devices Desktops * * class-prefix `col-md-push-` */ mdPush: _react2['default'].PropTypes.number, /** * Change the order of grid columns to the right * * for Large devices Desktops * * class-prefix `col-lg-push-` */ lgPush: _react2['default'].PropTypes.number, /** * Change the order of grid columns to the left * * for Extra small devices Phones * * class-prefix `col-xs-pull-` */ xsPull: _react2['default'].PropTypes.number, /** * Change the order of grid columns to the left * * for Small devices Tablets * * class-prefix `col-sm-pull-` */ smPull: _react2['default'].PropTypes.number, /** * Change the order of grid columns to the left * * for Medium devices Desktops * * class-prefix `col-md-pull-` */ mdPull: _react2['default'].PropTypes.number, /** * Change the order of grid columns to the left * * for Large devices Desktops * * class-prefix `col-lg-pull-` */ lgPull: _react2['default'].PropTypes.number, /** * You can use a custom element for this component */ componentClass: _reactPropTypesLibElementType2['default'] }, getDefaultProps: function getDefaultProps() { return { componentClass: 'div' }; }, render: function render() { var _this = this; var ComponentClass = this.props.componentClass; var classes = {}; _Object$keys(_styleMaps2['default'].SIZES).forEach(function (key) { var size = _styleMaps2['default'].SIZES[key]; var prop = size; var classPart = size + '-'; if (_this.props[prop]) { classes['col-' + classPart + _this.props[prop]] = true; } prop = size + 'Offset'; classPart = size + '-offset-'; if (_this.props[prop] >= 0) { classes['col-' + classPart + _this.props[prop]] = true; } prop = size + 'Push'; classPart = size + '-push-'; if (_this.props[prop] >= 0) { classes['col-' + classPart + _this.props[prop]] = true; } prop = size + 'Pull'; classPart = size + '-pull-'; if (_this.props[prop] >= 0) { classes['col-' + classPart + _this.props[prop]] = true; } }, this); return _react2['default'].createElement( ComponentClass, _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.children ); } }); exports['default'] = Col; module.exports = exports['default']; /***/ }, /* 75 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(76), __esModule: true }; /***/ }, /* 76 */ /***/ function(module, exports, __webpack_require__) { __webpack_require__(77); module.exports = __webpack_require__(15).Object.keys; /***/ }, /* 77 */ /***/ function(module, exports, __webpack_require__) { // 19.1.2.14 Object.keys(O) var toObject = __webpack_require__(17); __webpack_require__(78)('keys', function($keys){ return function keys(it){ return $keys(toObject(it)); }; }); /***/ }, /* 78 */ /***/ function(module, exports, __webpack_require__) { // most Object methods by ES6 should accept primitives module.exports = function(KEY, exec){ var $def = __webpack_require__(13) , fn = (__webpack_require__(15).Object || {})[KEY] || Object[KEY] , exp = {}; exp[KEY] = exec(fn); $def($def.S + $def.F * __webpack_require__(24)(function(){ fn(1); }), 'Object', exp); }; /***/ }, /* 79 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _Collapse = __webpack_require__(80); var _Collapse2 = _interopRequireDefault(_Collapse); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var CollapsibleNav = _react2['default'].createClass({ displayName: 'CollapsibleNav', mixins: [_BootstrapMixin2['default']], propTypes: { onSelect: _react2['default'].PropTypes.func, activeHref: _react2['default'].PropTypes.string, activeKey: _react2['default'].PropTypes.any, collapsible: _react2['default'].PropTypes.bool, expanded: _react2['default'].PropTypes.bool, eventKey: _react2['default'].PropTypes.any }, getDefaultProps: function getDefaultProps() { return { collapsible: false, expanded: false }; }, render: function render() { /* * this.props.collapsible is set in NavBar when an eventKey is supplied. */ var classes = this.props.collapsible ? 'navbar-collapse' : null; var renderChildren = this.props.collapsible ? this.renderCollapsibleNavChildren : this.renderChildren; var nav = _react2['default'].createElement( 'div', { eventKey: this.props.eventKey, className: _classnames2['default'](this.props.className, classes) }, _utilsValidComponentChildren2['default'].map(this.props.children, renderChildren) ); if (this.props.collapsible) { return _react2['default'].createElement( _Collapse2['default'], { 'in': this.props.expanded }, nav ); } return nav; }, getChildActiveProp: function getChildActiveProp(child) { if (child.props.active) { return true; } if (this.props.activeKey != null) { if (child.props.eventKey === this.props.activeKey) { return true; } } if (this.props.activeHref != null) { if (child.props.href === this.props.activeHref) { return true; } } return child.props.active; }, renderChildren: function renderChildren(child, index) { var key = child.key ? child.key : index; return _react.cloneElement(child, { activeKey: this.props.activeKey, activeHref: this.props.activeHref, ref: 'nocollapse_' + key, key: key, navItem: true }); }, renderCollapsibleNavChildren: function renderCollapsibleNavChildren(child, index) { var key = child.key ? child.key : index; return _react.cloneElement(child, { active: this.getChildActiveProp(child), activeKey: this.props.activeKey, activeHref: this.props.activeHref, onSelect: _utilsCreateChainedFunction2['default'](child.props.onSelect, this.props.onSelect), ref: 'collapsible_' + key, key: key, navItem: true }); } }); exports['default'] = CollapsibleNav; module.exports = exports['default']; /***/ }, /* 80 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _domHelpersStyle = __webpack_require__(81); var _domHelpersStyle2 = _interopRequireDefault(_domHelpersStyle); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactOverlaysLibTransition = __webpack_require__(88); var _reactOverlaysLibTransition2 = _interopRequireDefault(_reactOverlaysLibTransition); var _reactPropTypesLibDeprecated = __webpack_require__(91); var _reactPropTypesLibDeprecated2 = _interopRequireDefault(_reactPropTypesLibDeprecated); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var capitalize = function capitalize(str) { return str[0].toUpperCase() + str.substr(1); }; // reading a dimension prop will cause the browser to recalculate, // which will let our animations work var triggerBrowserReflow = function triggerBrowserReflow(node) { return node.offsetHeight; }; var MARGINS = { height: ['marginTop', 'marginBottom'], width: ['marginLeft', 'marginRight'] }; function getDimensionValue(dimension, elem) { var value = elem['offset' + capitalize(dimension)]; var margins = MARGINS[dimension]; return value + parseInt(_domHelpersStyle2['default'](elem, margins[0]), 10) + parseInt(_domHelpersStyle2['default'](elem, margins[1]), 10); } var Collapse = (function (_React$Component) { _inherits(Collapse, _React$Component); function Collapse(props, context) { _classCallCheck(this, Collapse); _React$Component.call(this, props, context); this.onEnterListener = this.handleEnter.bind(this); this.onEnteringListener = this.handleEntering.bind(this); this.onEnteredListener = this.handleEntered.bind(this); this.onExitListener = this.handleExit.bind(this); this.onExitingListener = this.handleExiting.bind(this); } // Explicitly copied from Transition for doc generation. // TODO: Remove duplication once #977 is resolved. Collapse.prototype.render = function render() { var enter = _utilsCreateChainedFunction2['default'](this.onEnterListener, this.props.onEnter); var entering = _utilsCreateChainedFunction2['default'](this.onEnteringListener, this.props.onEntering); var entered = _utilsCreateChainedFunction2['default'](this.onEnteredListener, this.props.onEntered); var exit = _utilsCreateChainedFunction2['default'](this.onExitListener, this.props.onExit); var exiting = _utilsCreateChainedFunction2['default'](this.onExitingListener, this.props.onExiting); return _react2['default'].createElement( _reactOverlaysLibTransition2['default'], _extends({ ref: 'transition' }, this.props, { 'aria-expanded': this.props.role ? this.props['in'] : null, className: this._dimension() === 'width' ? 'width' : '', exitedClassName: 'collapse', exitingClassName: 'collapsing', enteredClassName: 'collapse in', enteringClassName: 'collapsing', onEnter: enter, onEntering: entering, onEntered: entered, onExit: exit, onExiting: exiting, onExited: this.props.onExited }), this.props.children ); }; /* -- Expanding -- */ Collapse.prototype.handleEnter = function handleEnter(elem) { var dimension = this._dimension(); elem.style[dimension] = '0'; }; Collapse.prototype.handleEntering = function handleEntering(elem) { var dimension = this._dimension(); elem.style[dimension] = this._getScrollDimensionValue(elem, dimension); }; Collapse.prototype.handleEntered = function handleEntered(elem) { var dimension = this._dimension(); elem.style[dimension] = null; }; /* -- Collapsing -- */ Collapse.prototype.handleExit = function handleExit(elem) { var dimension = this._dimension(); elem.style[dimension] = this.props.getDimensionValue(dimension, elem) + 'px'; }; Collapse.prototype.handleExiting = function handleExiting(elem) { var dimension = this._dimension(); triggerBrowserReflow(elem); elem.style[dimension] = '0'; }; Collapse.prototype._dimension = function _dimension() { return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension; }; // for testing Collapse.prototype._getTransitionInstance = function _getTransitionInstance() { return this.refs.transition; }; Collapse.prototype._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) { return elem['scroll' + capitalize(dimension)] + 'px'; }; return Collapse; })(_react2['default'].Component); Collapse.propTypes = { /** * Show the component; triggers the expand or collapse animation */ 'in': _react2['default'].PropTypes.bool, /** * Unmount the component (remove it from the DOM) when it is collapsed */ unmountOnExit: _react2['default'].PropTypes.bool, /** * Run the expand animation when the component mounts, if it is initially * shown */ transitionAppear: _react2['default'].PropTypes.bool, /** * Duration of the collapse animation in milliseconds, to ensure that * finishing callbacks are fired even if the original browser transition end * events are canceled */ timeout: _react2['default'].PropTypes.number, /** * duration * @private */ duration: _reactPropTypesLibDeprecated2['default'](_react2['default'].PropTypes.number, 'Use `timeout`.'), /** * Callback fired before the component expands */ onEnter: _react2['default'].PropTypes.func, /** * Callback fired after the component starts to expand */ onEntering: _react2['default'].PropTypes.func, /** * Callback fired after the component has expanded */ onEntered: _react2['default'].PropTypes.func, /** * Callback fired before the component collapses */ onExit: _react2['default'].PropTypes.func, /** * Callback fired after the component starts to collapse */ onExiting: _react2['default'].PropTypes.func, /** * Callback fired after the component has collapsed */ onExited: _react2['default'].PropTypes.func, /** * The dimension used when collapsing, or a function that returns the * dimension * * _Note: Bootstrap only partially supports 'width'! * You will need to supply your own CSS animation for the `.width` CSS class._ */ dimension: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.oneOf(['height', 'width']), _react2['default'].PropTypes.func]), /** * Function that returns the height or width of the animating DOM node * * Allows for providing some custom logic for how much the Collapse component * should animate in its specified dimension. Called with the current * dimension prop value and the DOM node. */ getDimensionValue: _react2['default'].PropTypes.func, /** * ARIA role of collapsible element */ role: _react2['default'].PropTypes.string }; Collapse.defaultProps = { 'in': false, timeout: 300, unmountOnExit: false, transitionAppear: false, dimension: 'height', getDimensionValue: getDimensionValue }; exports['default'] = Collapse; module.exports = exports['default']; /***/ }, /* 81 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var camelize = __webpack_require__(82), hyphenate = __webpack_require__(84), _getComputedStyle = __webpack_require__(86), removeStyle = __webpack_require__(87); var has = Object.prototype.hasOwnProperty; module.exports = function style(node, property, value) { var css = '', props = property; if (typeof property === 'string') { if (value === undefined) return node.style[camelize(property)] || _getComputedStyle(node).getPropertyValue(hyphenate(property));else (props = {})[property] = value; } for (var key in props) if (has.call(props, key)) { !props[key] && props[key] !== 0 ? removeStyle(node, hyphenate(key)) : css += hyphenate(key) + ':' + props[key] + ';'; } node.style.cssText += ';' + css; }; /***/ }, /* 82 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js */ 'use strict'; var camelize = __webpack_require__(83); var msPattern = /^-ms-/; module.exports = function camelizeStyleName(string) { return camelize(string.replace(msPattern, 'ms-')); }; /***/ }, /* 83 */ /***/ function(module, exports) { "use strict"; var rHyphen = /-(.)/g; module.exports = function camelize(string) { return string.replace(rHyphen, function (_, chr) { return chr.toUpperCase(); }); }; /***/ }, /* 84 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-2014, Facebook, Inc. * All rights reserved. * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js */ "use strict"; var hyphenate = __webpack_require__(85); var msPattern = /^ms-/; module.exports = function hyphenateStyleName(string) { return hyphenate(string).replace(msPattern, "-ms-"); }; /***/ }, /* 85 */ /***/ function(module, exports) { 'use strict'; var rUpper = /([A-Z])/g; module.exports = function hyphenate(string) { return string.replace(rUpper, '-$1').toLowerCase(); }; /***/ }, /* 86 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var babelHelpers = __webpack_require__(38); var _utilCamelizeStyle = __webpack_require__(82); var _utilCamelizeStyle2 = babelHelpers.interopRequireDefault(_utilCamelizeStyle); var rposition = /^(top|right|bottom|left)$/; var rnumnonpx = /^([+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/i; module.exports = function _getComputedStyle(node) { if (!node) throw new TypeError('No Element passed to `getComputedStyle()`'); var doc = node.ownerDocument; return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : { //ie 8 "magic" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72 getPropertyValue: function getPropertyValue(prop) { var style = node.style; prop = (0, _utilCamelizeStyle2['default'])(prop); if (prop == 'float') prop = 'styleFloat'; var current = node.currentStyle[prop] || null; if (current == null && style && style[prop]) current = style[prop]; if (rnumnonpx.test(current) && !rposition.test(prop)) { // Remember the original values var left = style.left; var runStyle = node.runtimeStyle; var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out if (rsLeft) runStyle.left = node.currentStyle.left; style.left = prop === 'fontSize' ? '1em' : current; current = style.pixelLeft + 'px'; // Revert the changed values style.left = left; if (rsLeft) runStyle.left = rsLeft; } return current; } }; }; /***/ }, /* 87 */ /***/ function(module, exports) { 'use strict'; module.exports = function removeStyle(node, key) { return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key); }; /***/ }, /* 88 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _domHelpersTransitionProperties = __webpack_require__(89); var _domHelpersTransitionProperties2 = _interopRequireDefault(_domHelpersTransitionProperties); var _domHelpersEventsOn = __webpack_require__(90); var _domHelpersEventsOn2 = _interopRequireDefault(_domHelpersEventsOn); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var transitionEndEvent = _domHelpersTransitionProperties2['default'].end; var UNMOUNTED = 0; exports.UNMOUNTED = UNMOUNTED; var EXITED = 1; exports.EXITED = EXITED; var ENTERING = 2; exports.ENTERING = ENTERING; var ENTERED = 3; exports.ENTERED = ENTERED; var EXITING = 4; exports.EXITING = EXITING; /** * The Transition component lets you define and run css transitions with a simple declarative api. * It works similar to React's own [CSSTransitionGroup](http://facebook.github.io/react/docs/animation.html#high-level-api-reactcsstransitiongroup) * but is specifically optimized for transitioning a single child "in" or "out". * * You don't even need to use class based css transitions if you don't want to (but it is easiest). * The extensive set of lifecyle callbacks means you have control over * the transitioning now at each step of the way. */ var Transition = (function (_React$Component) { function Transition(props, context) { _classCallCheck(this, Transition); _React$Component.call(this, props, context); var initialStatus = undefined; if (props['in']) { // Start enter transition in componentDidMount. initialStatus = props.transitionAppear ? EXITED : ENTERED; } else { initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED; } this.state = { status: initialStatus }; this.nextCallback = null; } _inherits(Transition, _React$Component); Transition.prototype.componentDidMount = function componentDidMount() { if (this.props.transitionAppear && this.props['in']) { this.performEnter(this.props); } }; Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { var status = this.state.status; if (nextProps['in']) { if (status === EXITING) { this.performEnter(nextProps); } else if (this.props.unmountOnExit) { if (status === UNMOUNTED) { // Start enter transition in componentDidUpdate. this.setState({ status: EXITED }); } } else if (status === EXITED) { this.performEnter(nextProps); } // Otherwise we're already entering or entered. } else { if (status === ENTERING || status === ENTERED) { this.performExit(nextProps); } // Otherwise we're already exited or exiting. } }; Transition.prototype.componentDidUpdate = function componentDidUpdate() { if (this.props.unmountOnExit && this.state.status === EXITED) { // EXITED is always a transitional state to either ENTERING or UNMOUNTED // when using unmountOnExit. if (this.props['in']) { this.performEnter(this.props); } else { this.setState({ status: UNMOUNTED }); } } }; Transition.prototype.componentWillUnmount = function componentWillUnmount() { this.cancelNextCallback(); }; Transition.prototype.performEnter = function performEnter(props) { var _this = this; this.cancelNextCallback(); var node = _reactDom2['default'].findDOMNode(this); // Not this.props, because we might be about to receive new props. props.onEnter(node); this.safeSetState({ status: ENTERING }, function () { _this.props.onEntering(node); _this.onTransitionEnd(node, function () { _this.safeSetState({ status: ENTERED }, function () { _this.props.onEntered(node); }); }); }); }; Transition.prototype.performExit = function performExit(props) { var _this2 = this; this.cancelNextCallback(); var node = _reactDom2['default'].findDOMNode(this); // Not this.props, because we might be about to receive new props. props.onExit(node); this.safeSetState({ status: EXITING }, function () { _this2.props.onExiting(node); _this2.onTransitionEnd(node, function () { _this2.safeSetState({ status: EXITED }, function () { _this2.props.onExited(node); }); }); }); }; Transition.prototype.cancelNextCallback = function cancelNextCallback() { if (this.nextCallback !== null) { this.nextCallback.cancel(); this.nextCallback = null; } }; Transition.prototype.safeSetState = function safeSetState(nextState, callback) { // This shouldn't be necessary, but there are weird race conditions with // setState callbacks and unmounting in testing, so always make sure that // we can cancel any pending setState callbacks after we unmount. this.setState(nextState, this.setNextCallback(callback)); }; Transition.prototype.setNextCallback = function setNextCallback(callback) { var _this3 = this; var active = true; this.nextCallback = function (event) { if (active) { active = false; _this3.nextCallback = null; callback(event); } }; this.nextCallback.cancel = function () { active = false; }; return this.nextCallback; }; Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) { this.setNextCallback(handler); if (node) { _domHelpersEventsOn2['default'](node, transitionEndEvent, this.nextCallback); setTimeout(this.nextCallback, this.props.timeout); } else { setTimeout(this.nextCallback, 0); } }; Transition.prototype.render = function render() { var status = this.state.status; if (status === UNMOUNTED) { return null; } var _props = this.props; var children = _props.children; var className = _props.className; var childProps = _objectWithoutProperties(_props, ['children', 'className']); Object.keys(Transition.propTypes).forEach(function (key) { return delete childProps[key]; }); var transitionClassName = undefined; if (status === EXITED) { transitionClassName = this.props.exitedClassName; } else if (status === ENTERING) { transitionClassName = this.props.enteringClassName; } else if (status === ENTERED) { transitionClassName = this.props.enteredClassName; } else if (status === EXITING) { transitionClassName = this.props.exitingClassName; } var child = _react2['default'].Children.only(children); return _react2['default'].cloneElement(child, _extends({}, childProps, { className: _classnames2['default'](child.props.className, className, transitionClassName) })); }; return Transition; })(_react2['default'].Component); Transition.propTypes = { /** * Show the component; triggers the enter or exit animation */ 'in': _react2['default'].PropTypes.bool, /** * Unmount the component (remove it from the DOM) when it is not shown */ unmountOnExit: _react2['default'].PropTypes.bool, /** * Run the enter animation when the component mounts, if it is initially * shown */ transitionAppear: _react2['default'].PropTypes.bool, /** * A Timeout for the animation, in milliseconds, to ensure that a node doesn't * transition indefinately if the browser transitionEnd events are * canceled or interrupted. * * By default this is set to a high number (5 seconds) as a failsafe. You should consider * setting this to the duration of your animation (or a bit above it). */ timeout: _react2['default'].PropTypes.number, /** * CSS class or classes applied when the component is exited */ exitedClassName: _react2['default'].PropTypes.string, /** * CSS class or classes applied while the component is exiting */ exitingClassName: _react2['default'].PropTypes.string, /** * CSS class or classes applied when the component is entered */ enteredClassName: _react2['default'].PropTypes.string, /** * CSS class or classes applied while the component is entering */ enteringClassName: _react2['default'].PropTypes.string, /** * Callback fired before the "entering" classes are applied */ onEnter: _react2['default'].PropTypes.func, /** * Callback fired after the "entering" classes are applied */ onEntering: _react2['default'].PropTypes.func, /** * Callback fired after the "enter" classes are applied */ onEntered: _react2['default'].PropTypes.func, /** * Callback fired before the "exiting" classes are applied */ onExit: _react2['default'].PropTypes.func, /** * Callback fired after the "exiting" classes are applied */ onExiting: _react2['default'].PropTypes.func, /** * Callback fired after the "exited" classes are applied */ onExited: _react2['default'].PropTypes.func }; // Name the function so it is clearer in the documentation function noop() {} Transition.displayName = 'Transition'; Transition.defaultProps = { 'in': false, unmountOnExit: false, transitionAppear: false, timeout: 5000, onEnter: noop, onEntering: noop, onEntered: noop, onExit: noop, onExiting: noop, onExited: noop }; exports['default'] = Transition; /***/ }, /* 89 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var canUseDOM = __webpack_require__(41); var has = Object.prototype.hasOwnProperty, transform = 'transform', transition = {}, transitionTiming, transitionDuration, transitionProperty, transitionDelay; if (canUseDOM) { transition = getTransitionProperties(); transform = transition.prefix + transform; transitionProperty = transition.prefix + 'transition-property'; transitionDuration = transition.prefix + 'transition-duration'; transitionDelay = transition.prefix + 'transition-delay'; transitionTiming = transition.prefix + 'transition-timing-function'; } module.exports = { transform: transform, end: transition.end, property: transitionProperty, timing: transitionTiming, delay: transitionDelay, duration: transitionDuration }; function getTransitionProperties() { var endEvent, prefix = '', transitions = { O: 'otransitionend', Moz: 'transitionend', Webkit: 'webkitTransitionEnd', ms: 'MSTransitionEnd' }; var element = document.createElement('div'); for (var vendor in transitions) if (has.call(transitions, vendor)) { if (element.style[vendor + 'TransitionProperty'] !== undefined) { prefix = '-' + vendor.toLowerCase() + '-'; endEvent = transitions[vendor]; break; } } if (!endEvent && element.style.transitionProperty !== undefined) endEvent = 'transitionend'; return { end: endEvent, prefix: prefix }; } /***/ }, /* 90 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var canUseDOM = __webpack_require__(41); var on = function on() {}; if (canUseDOM) { on = (function () { if (document.addEventListener) return function (node, eventName, handler, capture) { return node.addEventListener(eventName, handler, capture || false); };else if (document.attachEvent) return function (node, eventName, handler) { return node.attachEvent('on' + eventName, handler); }; })(); } module.exports = on; /***/ }, /* 91 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; exports['default'] = deprecated; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _warning = __webpack_require__(48); var _warning2 = _interopRequireDefault(_warning); function deprecated(propType, explanation) { return function validate(props, propName, componentName) { if (props[propName] != null) { _warning2['default'](false, '"' + propName + '" property of "' + componentName + '" has been deprecated.\n' + explanation); } return propType(props, propName, componentName); }; } module.exports = exports['default']; /***/ }, /* 92 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _domHelpersActiveElement = __webpack_require__(93); var _domHelpersActiveElement2 = _interopRequireDefault(_domHelpersActiveElement); var _domHelpersQueryContains = __webpack_require__(40); var _domHelpersQueryContains2 = _interopRequireDefault(_domHelpersQueryContains); var _keycode = __webpack_require__(94); var _keycode2 = _interopRequireDefault(_keycode); var _lodashCompatCollectionFind = __webpack_require__(95); var _lodashCompatCollectionFind2 = _interopRequireDefault(_lodashCompatCollectionFind); var _lodashCompatObjectOmit = __webpack_require__(148); var _lodashCompatObjectOmit2 = _interopRequireDefault(_lodashCompatObjectOmit); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _reactPropTypesLibAll = __webpack_require__(69); var _reactPropTypesLibAll2 = _interopRequireDefault(_reactPropTypesLibAll); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var _reactPropTypesLibIsRequiredForA11y = __webpack_require__(163); var _reactPropTypesLibIsRequiredForA11y2 = _interopRequireDefault(_reactPropTypesLibIsRequiredForA11y); var _uncontrollable = __webpack_require__(164); var _uncontrollable2 = _interopRequireDefault(_uncontrollable); var _ButtonGroup = __webpack_require__(68); var _ButtonGroup2 = _interopRequireDefault(_ButtonGroup); var _DropdownMenu = __webpack_require__(168); var _DropdownMenu2 = _interopRequireDefault(_DropdownMenu); var _DropdownToggle = __webpack_require__(174); var _DropdownToggle2 = _interopRequireDefault(_DropdownToggle); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var _utilsCustomPropTypes = __webpack_require__(175); var _utilsCustomPropTypes2 = _interopRequireDefault(_utilsCustomPropTypes); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var TOGGLE_REF = 'toggle-btn'; var TOGGLE_ROLE = _DropdownToggle2['default'].defaultProps.bsRole; var MENU_ROLE = _DropdownMenu2['default'].defaultProps.bsRole; var Dropdown = (function (_React$Component) { _inherits(Dropdown, _React$Component); function Dropdown(props) { _classCallCheck(this, Dropdown); _React$Component.call(this, props); this.Toggle = _DropdownToggle2['default']; this.toggleOpen = this.toggleOpen.bind(this); this.handleClick = this.handleClick.bind(this); this.handleKeyDown = this.handleKeyDown.bind(this); this.handleClose = this.handleClose.bind(this); this.extractChildren = this.extractChildren.bind(this); this.refineMenu = this.refineMenu.bind(this); this.refineToggle = this.refineToggle.bind(this); this.childExtractors = [{ key: 'toggle', matches: function matches(child) { return child.props.bsRole === TOGGLE_ROLE; }, refine: this.refineToggle }, { key: 'menu', exclusive: true, matches: function matches(child) { return child.props.bsRole === MENU_ROLE; }, refine: this.refineMenu }]; this.state = {}; this.lastOpenEventType = null; } Dropdown.prototype.componentDidMount = function componentDidMount() { this.focusNextOnOpen(); }; Dropdown.prototype.componentWillUpdate = function componentWillUpdate(nextProps) { if (!nextProps.open && this.props.open) { this._focusInDropdown = _domHelpersQueryContains2['default'](_reactDom2['default'].findDOMNode(this.refs.menu), _domHelpersActiveElement2['default'](document)); } }; Dropdown.prototype.componentDidUpdate = function componentDidUpdate(prevProps) { if (this.props.open && !prevProps.open) { this.focusNextOnOpen(); } if (!this.props.open && prevProps.open) { // if focus hasn't already moved from the menu lets return it // to the toggle if (this._focusInDropdown) { this._focusInDropdown = false; this.focus(); } } }; Dropdown.prototype.render = function render() { var children = this.extractChildren(); var Component = this.props.componentClass; var props = _lodashCompatObjectOmit2['default'](this.props, ['id', 'role']); var rootClasses = { open: this.props.open, disabled: this.props.disabled, dropdown: !this.props.dropup, dropup: this.props.dropup }; return _react2['default'].createElement( Component, _extends({}, props, { tabIndex: '-1', className: _classnames2['default'](this.props.className, rootClasses) }), children ); }; Dropdown.prototype.toggleOpen = function toggleOpen() { var eventType = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0]; var open = !this.props.open; if (open) { this.lastOpenEventType = eventType; } if (this.props.onToggle) { this.props.onToggle(open); } }; Dropdown.prototype.handleClick = function handleClick() { if (this.props.disabled) { return; } this.toggleOpen('click'); }; Dropdown.prototype.handleKeyDown = function handleKeyDown(event) { if (this.props.disabled) { return; } switch (event.keyCode) { case _keycode2['default'].codes.down: if (!this.props.open) { this.toggleOpen('keydown'); } else if (this.refs.menu.focusNext) { this.refs.menu.focusNext(); } event.preventDefault(); break; case _keycode2['default'].codes.esc: case _keycode2['default'].codes.tab: this.handleClose(event); break; default: } }; Dropdown.prototype.handleClose = function handleClose() { if (!this.props.open) { return; } this.toggleOpen(); }; Dropdown.prototype.focusNextOnOpen = function focusNextOnOpen() { var menu = this.refs.menu; if (!menu.focusNext) { return; } if (this.lastOpenEventType === 'keydown' || this.props.role === 'menuitem') { menu.focusNext(); } }; Dropdown.prototype.focus = function focus() { var toggle = _reactDom2['default'].findDOMNode(this.refs[TOGGLE_REF]); if (toggle && toggle.focus) { toggle.focus(); } }; Dropdown.prototype.extractChildren = function extractChildren() { var _this = this; var open = !!this.props.open; var seen = {}; return _utilsValidComponentChildren2['default'].map(this.props.children, function (child) { var extractor = _lodashCompatCollectionFind2['default'](_this.childExtractors, function (x) { return x.matches(child); }); if (extractor) { if (seen[extractor.key]) { return false; } seen[extractor.key] = extractor.exclusive; child = extractor.refine(child, open); } return child; }); }; Dropdown.prototype.refineMenu = function refineMenu(menu, open) { var menuProps = { ref: 'menu', open: open, labelledBy: this.props.id, pullRight: this.props.pullRight }; menuProps.onClose = _utilsCreateChainedFunction2['default'](menu.props.onClose, this.props.onClose, this.handleClose); menuProps.onSelect = _utilsCreateChainedFunction2['default'](menu.props.onSelect, this.props.onSelect, this.handleClose); return _react.cloneElement(menu, menuProps, menu.props.children); }; Dropdown.prototype.refineToggle = function refineToggle(toggle, open) { var toggleProps = { open: open, id: this.props.id, ref: TOGGLE_REF, role: this.props.role }; toggleProps.onClick = _utilsCreateChainedFunction2['default'](toggle.props.onClick, this.handleClick); toggleProps.onKeyDown = _utilsCreateChainedFunction2['default'](toggle.props.onKeyDown, this.handleKeyDown); return _react.cloneElement(toggle, toggleProps, toggle.props.children); }; return Dropdown; })(_react2['default'].Component); Dropdown.Toggle = _DropdownToggle2['default']; Dropdown.TOGGLE_REF = TOGGLE_REF; Dropdown.TOGGLE_ROLE = TOGGLE_ROLE; Dropdown.MENU_ROLE = MENU_ROLE; Dropdown.defaultProps = { componentClass: _ButtonGroup2['default'], alwaysFocusNextOnOpen: false }; Dropdown.propTypes = { /** * The menu will open above the dropdown button, instead of below it. */ dropup: _react2['default'].PropTypes.bool, /** * An html id attribute, necessary for assistive technologies, such as screen readers. * @type {string|number} * @required */ id: _reactPropTypesLibIsRequiredForA11y2['default'](_react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number])), componentClass: _reactPropTypesLibElementType2['default'], /** * The children of a Dropdown may be a `` or a ``. * @type {node} */ children: _reactPropTypesLibAll2['default'](_utilsCustomPropTypes2['default'].requiredRoles(TOGGLE_ROLE, MENU_ROLE), _utilsCustomPropTypes2['default'].exclusiveRoles(MENU_ROLE)), /** * Whether or not component is disabled. */ disabled: _react2['default'].PropTypes.bool, /** * Align the menu to the right side of the Dropdown toggle */ pullRight: _react2['default'].PropTypes.bool, /** * Whether or not the Dropdown is visible. * * @controllable onToggle */ open: _react2['default'].PropTypes.bool, /** * A callback fired when the Dropdown closes. */ onClose: _react2['default'].PropTypes.func, /** * A callback fired when the Dropdown wishes to change visibility. Called with the requested * `open` value. * * ```js * function(Boolean isOpen) {} * ``` * @controllable open */ onToggle: _react2['default'].PropTypes.func, /** * A callback fired when a menu item is selected. * * ```js * function(Object event, Any eventKey) * ``` */ onSelect: _react2['default'].PropTypes.func, /** * If `'menuitem'`, causes the dropdown to behave like a menu item rather than * a menu button. */ role: _react2['default'].PropTypes.string }; Dropdown = _uncontrollable2['default'](Dropdown, { open: 'onToggle' }); Dropdown.Toggle = _DropdownToggle2['default']; Dropdown.Menu = _DropdownMenu2['default']; exports['default'] = Dropdown; module.exports = exports['default']; /***/ }, /* 93 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var babelHelpers = __webpack_require__(38); exports.__esModule = true; /** * document.activeElement */ exports['default'] = activeElement; var _ownerDocument = __webpack_require__(36); var _ownerDocument2 = babelHelpers.interopRequireDefault(_ownerDocument); function activeElement() { var doc = arguments[0] === undefined ? document : arguments[0]; try { return doc.activeElement; } catch (e) {} } module.exports = exports['default']; /***/ }, /* 94 */ /***/ function(module, exports) { // Source: http://jsfiddle.net/vWx8V/ // http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes /** * Conenience method returns corresponding value for given keyName or keyCode. * * @param {Mixed} keyCode {Number} or keyName {String} * @return {Mixed} * @api public */ exports = module.exports = function(searchInput) { // Keyboard Events if (searchInput && 'object' === typeof searchInput) { var hasKeyCode = searchInput.which || searchInput.keyCode || searchInput.charCode if (hasKeyCode) searchInput = hasKeyCode } // Numbers if ('number' === typeof searchInput) return names[searchInput] // Everything else (cast to string) var search = String(searchInput) // check codes var foundNamedKey = codes[search.toLowerCase()] if (foundNamedKey) return foundNamedKey // check aliases var foundNamedKey = aliases[search.toLowerCase()] if (foundNamedKey) return foundNamedKey // weird character? if (search.length === 1) return search.charCodeAt(0) return undefined } /** * Get by name * * exports.code['enter'] // => 13 */ var codes = exports.code = exports.codes = { 'backspace': 8, 'tab': 9, 'enter': 13, 'shift': 16, 'ctrl': 17, 'alt': 18, 'pause/break': 19, 'caps lock': 20, 'esc': 27, 'space': 32, 'page up': 33, 'page down': 34, 'end': 35, 'home': 36, 'left': 37, 'up': 38, 'right': 39, 'down': 40, 'insert': 45, 'delete': 46, 'command': 91, 'right click': 93, 'numpad *': 106, 'numpad +': 107, 'numpad -': 109, 'numpad .': 110, 'numpad /': 111, 'num lock': 144, 'scroll lock': 145, 'my computer': 182, 'my calculator': 183, ';': 186, '=': 187, ',': 188, '-': 189, '.': 190, '/': 191, '`': 192, '[': 219, '\\': 220, ']': 221, "'": 222, } // Helper aliases var aliases = exports.aliases = { 'windows': 91, '⇧': 16, '⌥': 18, '⌃': 17, '⌘': 91, 'ctl': 17, 'control': 17, 'option': 18, 'pause': 19, 'break': 19, 'caps': 20, 'return': 13, 'escape': 27, 'spc': 32, 'pgup': 33, 'pgdn': 33, 'ins': 45, 'del': 46, 'cmd': 91 } /*! * Programatically add the following */ // lower case chars for (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32 // numbers for (var i = 48; i < 58; i++) codes[i - 48] = i // function keys for (i = 1; i < 13; i++) codes['f'+i] = i + 111 // numpad keys for (i = 0; i < 10; i++) codes['numpad '+i] = i + 96 /** * Get by code * * exports.name[13] // => 'Enter' */ var names = exports.names = exports.title = {} // title for backward compat // Create reverse mapping for (i in codes) names[codes[i]] = i // Add aliases for (var alias in aliases) { codes[alias] = aliases[alias] } /***/ }, /* 95 */ /***/ function(module, exports, __webpack_require__) { var baseEach = __webpack_require__(96), createFind = __webpack_require__(121); /** * Iterates over elements of `collection`, returning the first element * `predicate` returns truthy for. The predicate is bound to `thisArg` and * invoked with three arguments: (value, index|key, collection). * * If a property name is provided for `predicate` the created `_.property` * style callback returns the property value of the given element. * * If a value is also provided for `thisArg` the created `_.matchesProperty` * style callback returns `true` for elements that have a matching property * value, else `false`. * * If an object is provided for `predicate` the created `_.matches` style * callback returns `true` for elements that have the properties of the given * object, else `false`. * * @static * @memberOf _ * @alias detect * @category Collection * @param {Array|Object|string} collection The collection to search. * @param {Function|Object|string} [predicate=_.identity] The function invoked * per iteration. * @param {*} [thisArg] The `this` binding of `predicate`. * @returns {*} Returns the matched element, else `undefined`. * @example * * var users = [ * { 'user': 'barney', 'age': 36, 'active': true }, * { 'user': 'fred', 'age': 40, 'active': false }, * { 'user': 'pebbles', 'age': 1, 'active': true } * ]; * * _.result(_.find(users, function(chr) { * return chr.age < 40; * }), 'user'); * // => 'barney' * * // using the `_.matches` callback shorthand * _.result(_.find(users, { 'age': 1, 'active': true }), 'user'); * // => 'pebbles' * * // using the `_.matchesProperty` callback shorthand * _.result(_.find(users, 'active', false), 'user'); * // => 'fred' * * // using the `_.property` callback shorthand * _.result(_.find(users, 'active'), 'user'); * // => 'barney' */ var find = createFind(baseEach); module.exports = find; /***/ }, /* 96 */ /***/ function(module, exports, __webpack_require__) { var baseForOwn = __webpack_require__(97), createBaseEach = __webpack_require__(120); /** * The base implementation of `_.forEach` without support for callback * shorthands and `this` binding. * * @private * @param {Array|Object|string} collection The collection to iterate over. * @param {Function} iteratee The function invoked per iteration. * @returns {Array|Object|string} Returns `collection`. */ var baseEach = createBaseEach(baseForOwn); module.exports = baseEach; /***/ }, /* 97 */ /***/ function(module, exports, __webpack_require__) { var baseFor = __webpack_require__(98), keys = __webpack_require__(105); /** * The base implementation of `_.forOwn` without support for callback * shorthands and `this` binding. * * @private * @param {Object} object The object to iterate over. * @param {Function} iteratee The function invoked per iteration. * @returns {Object} Returns `object`. */ function baseForOwn(object, iteratee) { return baseFor(object, iteratee, keys); } module.exports = baseForOwn; /***/ }, /* 98 */ /***/ function(module, exports, __webpack_require__) { var createBaseFor = __webpack_require__(99); /** * The base implementation of `baseForIn` and `baseForOwn` which iterates * over `object` properties returned by `keysFunc` invoking `iteratee` for * each property. Iteratee functions may exit iteration early by explicitly * returning `false`. * * @private * @param {Object} object The object to iterate over. * @param {Function} iteratee The function invoked per iteration. * @param {Function} keysFunc The function to get the keys of `object`. * @returns {Object} Returns `object`. */ var baseFor = createBaseFor(); module.exports = baseFor; /***/ }, /* 99 */ /***/ function(module, exports, __webpack_require__) { var toObject = __webpack_require__(100); /** * Creates a base function for `_.forIn` or `_.forInRight`. * * @private * @param {boolean} [fromRight] Specify iterating from right to left. * @returns {Function} Returns the new base function. */ function createBaseFor(fromRight) { return function(object, iteratee, keysFunc) { var iterable = toObject(object), props = keysFunc(object), length = props.length, index = fromRight ? length : -1; while ((fromRight ? index-- : ++index < length)) { var key = props[index]; if (iteratee(iterable[key], key, iterable) === false) { break; } } return object; }; } module.exports = createBaseFor; /***/ }, /* 100 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(101), isString = __webpack_require__(102), support = __webpack_require__(104); /** * Converts `value` to an object if it's not one. * * @private * @param {*} value The value to process. * @returns {Object} Returns the object. */ function toObject(value) { if (support.unindexedChars && isString(value)) { var index = -1, length = value.length, result = Object(value); while (++index < length) { result[index] = value.charAt(index); } return result; } return isObject(value) ? value : Object(value); } module.exports = toObject; /***/ }, /* 101 */ /***/ function(module, exports) { /** * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. * @example * * _.isObject({}); * // => true * * _.isObject([1, 2, 3]); * // => true * * _.isObject(1); * // => false */ function isObject(value) { // Avoid a V8 JIT bug in Chrome 19-20. // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. var type = typeof value; return !!value && (type == 'object' || type == 'function'); } module.exports = isObject; /***/ }, /* 102 */ /***/ function(module, exports, __webpack_require__) { var isObjectLike = __webpack_require__(103); /** `Object#toString` result references. */ var stringTag = '[object String]'; /** Used for native method references. */ var objectProto = Object.prototype; /** * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) * of values. */ var objToString = objectProto.toString; /** * Checks if `value` is classified as a `String` primitive or object. * * @static * @memberOf _ * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. * @example * * _.isString('abc'); * // => true * * _.isString(1); * // => false */ function isString(value) { return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag); } module.exports = isString; /***/ }, /* 103 */ /***/ function(module, exports) { /** * Checks if `value` is object-like. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. */ function isObjectLike(value) { return !!value && typeof value == 'object'; } module.exports = isObjectLike; /***/ }, /* 104 */ /***/ function(module, exports) { /** Used for native method references. */ var arrayProto = Array.prototype, errorProto = Error.prototype, objectProto = Object.prototype; /** Native method references. */ var propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice; /** * An object environment feature flags. * * @static * @memberOf _ * @type Object */ var support = {}; (function(x) { var Ctor = function() { this.x = x; }, object = { '0': x, 'length': x }, props = []; Ctor.prototype = { 'valueOf': x, 'y': x }; for (var key in new Ctor) { props.push(key); } /** * Detect if `name` or `message` properties of `Error.prototype` are * enumerable by default (IE < 9, Safari < 5.1). * * @memberOf _.support * @type boolean */ support.enumErrorProps = propertyIsEnumerable.call(errorProto, 'message') || propertyIsEnumerable.call(errorProto, 'name'); /** * Detect if `prototype` properties are enumerable by default. * * Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1 * (if the prototype or a property on the prototype has been set) * incorrectly set the `[[Enumerable]]` value of a function's `prototype` * property to `true`. * * @memberOf _.support * @type boolean */ support.enumPrototypes = propertyIsEnumerable.call(Ctor, 'prototype'); /** * Detect if properties shadowing those on `Object.prototype` are non-enumerable. * * In IE < 9 an object's own properties, shadowing non-enumerable ones, * are made non-enumerable as well (a.k.a the JScript `[[DontEnum]]` bug). * * @memberOf _.support * @type boolean */ support.nonEnumShadows = !/valueOf/.test(props); /** * Detect if own properties are iterated after inherited properties (IE < 9). * * @memberOf _.support * @type boolean */ support.ownLast = props[0] != 'x'; /** * Detect if `Array#shift` and `Array#splice` augment array-like objects * correctly. * * Firefox < 10, compatibility modes of IE 8, and IE < 9 have buggy Array * `shift()` and `splice()` functions that fail to remove the last element, * `value[0]`, of array-like objects even though the "length" property is * set to `0`. The `shift()` method is buggy in compatibility modes of IE 8, * while `splice()` is buggy regardless of mode in IE < 9. * * @memberOf _.support * @type boolean */ support.spliceObjects = (splice.call(object, 0, 1), !object[0]); /** * Detect lack of support for accessing string characters by index. * * IE < 8 can't access characters by index. IE 8 can only access characters * by index on string literals, not string objects. * * @memberOf _.support * @type boolean */ support.unindexedChars = ('x'[0] + Object('x')[0]) != 'xx'; }(1, 0)); module.exports = support; /***/ }, /* 105 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(106), isArrayLike = __webpack_require__(110), isObject = __webpack_require__(101), shimKeys = __webpack_require__(114), support = __webpack_require__(104); /* Native method references for those with the same name as other `lodash` methods. */ var nativeKeys = getNative(Object, 'keys'); /** * Creates an array of the own enumerable property names of `object`. * * **Note:** Non-object values are coerced to objects. See the * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys) * for more details. * * @static * @memberOf _ * @category Object * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. * @example * * function Foo() { * this.a = 1; * this.b = 2; * } * * Foo.prototype.c = 3; * * _.keys(new Foo); * // => ['a', 'b'] (iteration order is not guaranteed) * * _.keys('hi'); * // => ['0', '1'] */ var keys = !nativeKeys ? shimKeys : function(object) { var Ctor = object == null ? undefined : object.constructor; if ((typeof Ctor == 'function' && Ctor.prototype === object) || (typeof object == 'function' ? support.enumPrototypes : isArrayLike(object))) { return shimKeys(object); } return isObject(object) ? nativeKeys(object) : []; }; module.exports = keys; /***/ }, /* 106 */ /***/ function(module, exports, __webpack_require__) { var isNative = __webpack_require__(107); /** * Gets the native function at `key` of `object`. * * @private * @param {Object} object The object to query. * @param {string} key The key of the method to get. * @returns {*} Returns the function if it's native, else `undefined`. */ function getNative(object, key) { var value = object == null ? undefined : object[key]; return isNative(value) ? value : undefined; } module.exports = getNative; /***/ }, /* 107 */ /***/ function(module, exports, __webpack_require__) { var isFunction = __webpack_require__(108), isHostObject = __webpack_require__(109), isObjectLike = __webpack_require__(103); /** Used to detect host constructors (Safari > 5). */ var reIsHostCtor = /^\[object .+?Constructor\]$/; /** Used for native method references. */ var objectProto = Object.prototype; /** Used to resolve the decompiled source of functions. */ var fnToString = Function.prototype.toString; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** Used to detect if a method is native. */ var reIsNative = RegExp('^' + fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' ); /** * Checks if `value` is a native function. * * @static * @memberOf _ * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a native function, else `false`. * @example * * _.isNative(Array.prototype.push); * // => true * * _.isNative(_); * // => false */ function isNative(value) { if (value == null) { return false; } if (isFunction(value)) { return reIsNative.test(fnToString.call(value)); } return isObjectLike(value) && (isHostObject(value) ? reIsNative : reIsHostCtor).test(value); } module.exports = isNative; /***/ }, /* 108 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(101); /** `Object#toString` result references. */ var funcTag = '[object Function]'; /** Used for native method references. */ var objectProto = Object.prototype; /** * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) * of values. */ var objToString = objectProto.toString; /** * Checks if `value` is classified as a `Function` object. * * @static * @memberOf _ * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. * @example * * _.isFunction(_); * // => true * * _.isFunction(/abc/); * // => false */ function isFunction(value) { // The use of `Object#toString` avoids issues with the `typeof` operator // in older versions of Chrome and Safari which return 'function' for regexes // and Safari 8 which returns 'object' for typed array constructors. return isObject(value) && objToString.call(value) == funcTag; } module.exports = isFunction; /***/ }, /* 109 */ /***/ function(module, exports) { /** * Checks if `value` is a host object in IE < 9. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a host object, else `false`. */ var isHostObject = (function() { try { Object({ 'toString': 0 } + ''); } catch(e) { return function() { return false; }; } return function(value) { // IE < 9 presents many host objects as `Object` objects that can coerce // to strings despite having improperly defined `toString` methods. return typeof value.toString != 'function' && typeof (value + '') == 'string'; }; }()); module.exports = isHostObject; /***/ }, /* 110 */ /***/ function(module, exports, __webpack_require__) { var getLength = __webpack_require__(111), isLength = __webpack_require__(113); /** * Checks if `value` is array-like. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is array-like, else `false`. */ function isArrayLike(value) { return value != null && isLength(getLength(value)); } module.exports = isArrayLike; /***/ }, /* 111 */ /***/ function(module, exports, __webpack_require__) { var baseProperty = __webpack_require__(112); /** * Gets the "length" property value of `object`. * * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) * that affects Safari on at least iOS 8.1-8.3 ARM64. * * @private * @param {Object} object The object to query. * @returns {*} Returns the "length" value. */ var getLength = baseProperty('length'); module.exports = getLength; /***/ }, /* 112 */ /***/ function(module, exports, __webpack_require__) { var toObject = __webpack_require__(100); /** * The base implementation of `_.property` without support for deep paths. * * @private * @param {string} key The key of the property to get. * @returns {Function} Returns the new function. */ function baseProperty(key) { return function(object) { return object == null ? undefined : toObject(object)[key]; }; } module.exports = baseProperty; /***/ }, /* 113 */ /***/ function(module, exports) { /** * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) * of an array-like value. */ var MAX_SAFE_INTEGER = 9007199254740991; /** * Checks if `value` is a valid array-like length. * * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. */ function isLength(value) { return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } module.exports = isLength; /***/ }, /* 114 */ /***/ function(module, exports, __webpack_require__) { var isArguments = __webpack_require__(115), isArray = __webpack_require__(116), isIndex = __webpack_require__(117), isLength = __webpack_require__(113), isString = __webpack_require__(102), keysIn = __webpack_require__(118); /** Used for native method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * A fallback implementation of `Object.keys` which creates an array of the * own enumerable property names of `object`. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. */ function shimKeys(object) { var props = keysIn(object), propsLength = props.length, length = propsLength && object.length; var allowIndexes = !!length && isLength(length) && (isArray(object) || isArguments(object) || isString(object)); var index = -1, result = []; while (++index < propsLength) { var key = props[index]; if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) { result.push(key); } } return result; } module.exports = shimKeys; /***/ }, /* 115 */ /***/ function(module, exports, __webpack_require__) { var isArrayLike = __webpack_require__(110), isObjectLike = __webpack_require__(103); /** Used for native method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** Native method references. */ var propertyIsEnumerable = objectProto.propertyIsEnumerable; /** * Checks if `value` is classified as an `arguments` object. * * @static * @memberOf _ * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. * @example * * _.isArguments(function() { return arguments; }()); * // => true * * _.isArguments([1, 2, 3]); * // => false */ function isArguments(value) { return isObjectLike(value) && isArrayLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); } module.exports = isArguments; /***/ }, /* 116 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(106), isLength = __webpack_require__(113), isObjectLike = __webpack_require__(103); /** `Object#toString` result references. */ var arrayTag = '[object Array]'; /** Used for native method references. */ var objectProto = Object.prototype; /** * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) * of values. */ var objToString = objectProto.toString; /* Native method references for those with the same name as other `lodash` methods. */ var nativeIsArray = getNative(Array, 'isArray'); /** * Checks if `value` is classified as an `Array` object. * * @static * @memberOf _ * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. * @example * * _.isArray([1, 2, 3]); * // => true * * _.isArray(function() { return arguments; }()); * // => false */ var isArray = nativeIsArray || function(value) { return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag; }; module.exports = isArray; /***/ }, /* 117 */ /***/ function(module, exports) { /** Used to detect unsigned integer values. */ var reIsUint = /^\d+$/; /** * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) * of an array-like value. */ var MAX_SAFE_INTEGER = 9007199254740991; /** * Checks if `value` is a valid array-like index. * * @private * @param {*} value The value to check. * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. */ function isIndex(value, length) { value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1; length = length == null ? MAX_SAFE_INTEGER : length; return value > -1 && value % 1 == 0 && value < length; } module.exports = isIndex; /***/ }, /* 118 */ /***/ function(module, exports, __webpack_require__) { var arrayEach = __webpack_require__(119), isArguments = __webpack_require__(115), isArray = __webpack_require__(116), isFunction = __webpack_require__(108), isIndex = __webpack_require__(117), isLength = __webpack_require__(113), isObject = __webpack_require__(101), isString = __webpack_require__(102), support = __webpack_require__(104); /** `Object#toString` result references. */ var arrayTag = '[object Array]', boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', funcTag = '[object Function]', numberTag = '[object Number]', objectTag = '[object Object]', regexpTag = '[object RegExp]', stringTag = '[object String]'; /** Used to fix the JScript `[[DontEnum]]` bug. */ var shadowProps = [ 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf' ]; /** Used for native method references. */ var errorProto = Error.prototype, objectProto = Object.prototype, stringProto = String.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) * of values. */ var objToString = objectProto.toString; /** Used to avoid iterating over non-enumerable properties in IE < 9. */ var nonEnumProps = {}; nonEnumProps[arrayTag] = nonEnumProps[dateTag] = nonEnumProps[numberTag] = { 'constructor': true, 'toLocaleString': true, 'toString': true, 'valueOf': true }; nonEnumProps[boolTag] = nonEnumProps[stringTag] = { 'constructor': true, 'toString': true, 'valueOf': true }; nonEnumProps[errorTag] = nonEnumProps[funcTag] = nonEnumProps[regexpTag] = { 'constructor': true, 'toString': true }; nonEnumProps[objectTag] = { 'constructor': true }; arrayEach(shadowProps, function(key) { for (var tag in nonEnumProps) { if (hasOwnProperty.call(nonEnumProps, tag)) { var props = nonEnumProps[tag]; props[key] = hasOwnProperty.call(props, key); } } }); /** * Creates an array of the own and inherited enumerable property names of `object`. * * **Note:** Non-object values are coerced to objects. * * @static * @memberOf _ * @category Object * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. * @example * * function Foo() { * this.a = 1; * this.b = 2; * } * * Foo.prototype.c = 3; * * _.keysIn(new Foo); * // => ['a', 'b', 'c'] (iteration order is not guaranteed) */ function keysIn(object) { if (object == null) { return []; } if (!isObject(object)) { object = Object(object); } var length = object.length; length = (length && isLength(length) && (isArray(object) || isArguments(object) || isString(object)) && length) || 0; var Ctor = object.constructor, index = -1, proto = (isFunction(Ctor) && Ctor.prototype) || objectProto, isProto = proto === object, result = Array(length), skipIndexes = length > 0, skipErrorProps = support.enumErrorProps && (object === errorProto || object instanceof Error), skipProto = support.enumPrototypes && isFunction(object); while (++index < length) { result[index] = (index + ''); } // lodash skips the `constructor` property when it infers it's iterating // over a `prototype` object because IE < 9 can't set the `[[Enumerable]]` // attribute of an existing property and the `constructor` property of a // prototype defaults to non-enumerable. for (var key in object) { if (!(skipProto && key == 'prototype') && !(skipErrorProps && (key == 'message' || key == 'name')) && !(skipIndexes && isIndex(key, length)) && !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { result.push(key); } } if (support.nonEnumShadows && object !== objectProto) { var tag = object === stringProto ? stringTag : (object === errorProto ? errorTag : objToString.call(object)), nonEnums = nonEnumProps[tag] || nonEnumProps[objectTag]; if (tag == objectTag) { proto = objectProto; } length = shadowProps.length; while (length--) { key = shadowProps[length]; var nonEnum = nonEnums[key]; if (!(isProto && nonEnum) && (nonEnum ? hasOwnProperty.call(object, key) : object[key] !== proto[key])) { result.push(key); } } } return result; } module.exports = keysIn; /***/ }, /* 119 */ /***/ function(module, exports) { /** * A specialized version of `_.forEach` for arrays without support for callback * shorthands and `this` binding. * * @private * @param {Array} array The array to iterate over. * @param {Function} iteratee The function invoked per iteration. * @returns {Array} Returns `array`. */ function arrayEach(array, iteratee) { var index = -1, length = array.length; while (++index < length) { if (iteratee(array[index], index, array) === false) { break; } } return array; } module.exports = arrayEach; /***/ }, /* 120 */ /***/ function(module, exports, __webpack_require__) { var getLength = __webpack_require__(111), isLength = __webpack_require__(113), toObject = __webpack_require__(100); /** * Creates a `baseEach` or `baseEachRight` function. * * @private * @param {Function} eachFunc The function to iterate over a collection. * @param {boolean} [fromRight] Specify iterating from right to left. * @returns {Function} Returns the new base function. */ function createBaseEach(eachFunc, fromRight) { return function(collection, iteratee) { var length = collection ? getLength(collection) : 0; if (!isLength(length)) { return eachFunc(collection, iteratee); } var index = fromRight ? length : -1, iterable = toObject(collection); while ((fromRight ? index-- : ++index < length)) { if (iteratee(iterable[index], index, iterable) === false) { break; } } return collection; }; } module.exports = createBaseEach; /***/ }, /* 121 */ /***/ function(module, exports, __webpack_require__) { var baseCallback = __webpack_require__(122), baseFind = __webpack_require__(146), baseFindIndex = __webpack_require__(147), isArray = __webpack_require__(116); /** * Creates a `_.find` or `_.findLast` function. * * @private * @param {Function} eachFunc The function to iterate over a collection. * @param {boolean} [fromRight] Specify iterating from right to left. * @returns {Function} Returns the new find function. */ function createFind(eachFunc, fromRight) { return function(collection, predicate, thisArg) { predicate = baseCallback(predicate, thisArg, 3); if (isArray(collection)) { var index = baseFindIndex(collection, predicate, fromRight); return index > -1 ? collection[index] : undefined; } return baseFind(collection, predicate, eachFunc); }; } module.exports = createFind; /***/ }, /* 122 */ /***/ function(module, exports, __webpack_require__) { var baseMatches = __webpack_require__(123), baseMatchesProperty = __webpack_require__(135), bindCallback = __webpack_require__(142), identity = __webpack_require__(143), property = __webpack_require__(144); /** * The base implementation of `_.callback` which supports specifying the * number of arguments to provide to `func`. * * @private * @param {*} [func=_.identity] The value to convert to a callback. * @param {*} [thisArg] The `this` binding of `func`. * @param {number} [argCount] The number of arguments to provide to `func`. * @returns {Function} Returns the callback. */ function baseCallback(func, thisArg, argCount) { var type = typeof func; if (type == 'function') { return thisArg === undefined ? func : bindCallback(func, thisArg, argCount); } if (func == null) { return identity; } if (type == 'object') { return baseMatches(func); } return thisArg === undefined ? property(func) : baseMatchesProperty(func, thisArg); } module.exports = baseCallback; /***/ }, /* 123 */ /***/ function(module, exports, __webpack_require__) { var baseIsMatch = __webpack_require__(124), getMatchData = __webpack_require__(132), toObject = __webpack_require__(100); /** * The base implementation of `_.matches` which does not clone `source`. * * @private * @param {Object} source The object of property values to match. * @returns {Function} Returns the new function. */ function baseMatches(source) { var matchData = getMatchData(source); if (matchData.length == 1 && matchData[0][2]) { var key = matchData[0][0], value = matchData[0][1]; return function(object) { if (object == null) { return false; } object = toObject(object); return object[key] === value && (value !== undefined || (key in object)); }; } return function(object) { return baseIsMatch(object, matchData); }; } module.exports = baseMatches; /***/ }, /* 124 */ /***/ function(module, exports, __webpack_require__) { var baseIsEqual = __webpack_require__(125), toObject = __webpack_require__(100); /** * The base implementation of `_.isMatch` without support for callback * shorthands and `this` binding. * * @private * @param {Object} object The object to inspect. * @param {Array} matchData The propery names, values, and compare flags to match. * @param {Function} [customizer] The function to customize comparing objects. * @returns {boolean} Returns `true` if `object` is a match, else `false`. */ function baseIsMatch(object, matchData, customizer) { var index = matchData.length, length = index, noCustomizer = !customizer; if (object == null) { return !length; } object = toObject(object); while (index--) { var data = matchData[index]; if ((noCustomizer && data[2]) ? data[1] !== object[data[0]] : !(data[0] in object) ) { return false; } } while (++index < length) { data = matchData[index]; var key = data[0], objValue = object[key], srcValue = data[1]; if (noCustomizer && data[2]) { if (objValue === undefined && !(key in object)) { return false; } } else { var result = customizer ? customizer(objValue, srcValue, key) : undefined; if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) { return false; } } } return true; } module.exports = baseIsMatch; /***/ }, /* 125 */ /***/ function(module, exports, __webpack_require__) { var baseIsEqualDeep = __webpack_require__(126), isObject = __webpack_require__(101), isObjectLike = __webpack_require__(103); /** * The base implementation of `_.isEqual` without support for `this` binding * `customizer` functions. * * @private * @param {*} value The value to compare. * @param {*} other The other value to compare. * @param {Function} [customizer] The function to customize comparing values. * @param {boolean} [isLoose] Specify performing partial comparisons. * @param {Array} [stackA] Tracks traversed `value` objects. * @param {Array} [stackB] Tracks traversed `other` objects. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. */ function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) { if (value === other) { return true; } if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { return value !== value && other !== other; } return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB); } module.exports = baseIsEqual; /***/ }, /* 126 */ /***/ function(module, exports, __webpack_require__) { var equalArrays = __webpack_require__(127), equalByTag = __webpack_require__(129), equalObjects = __webpack_require__(130), isArray = __webpack_require__(116), isHostObject = __webpack_require__(109), isTypedArray = __webpack_require__(131); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', arrayTag = '[object Array]', objectTag = '[object Object]'; /** Used for native method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) * of values. */ var objToString = objectProto.toString; /** * A specialized version of `baseIsEqual` for arrays and objects which performs * deep comparisons and tracks traversed objects enabling objects with circular * references to be compared. * * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Function} [customizer] The function to customize comparing objects. * @param {boolean} [isLoose] Specify performing partial comparisons. * @param {Array} [stackA=[]] Tracks traversed `value` objects. * @param {Array} [stackB=[]] Tracks traversed `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) { var objIsArr = isArray(object), othIsArr = isArray(other), objTag = arrayTag, othTag = arrayTag; if (!objIsArr) { objTag = objToString.call(object); if (objTag == argsTag) { objTag = objectTag; } else if (objTag != objectTag) { objIsArr = isTypedArray(object); } } if (!othIsArr) { othTag = objToString.call(other); if (othTag == argsTag) { othTag = objectTag; } else if (othTag != objectTag) { othIsArr = isTypedArray(other); } } var objIsObj = objTag == objectTag && !isHostObject(object), othIsObj = othTag == objectTag && !isHostObject(other), isSameTag = objTag == othTag; if (isSameTag && !(objIsArr || objIsObj)) { return equalByTag(object, other, objTag); } if (!isLoose) { var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); if (objIsWrapped || othIsWrapped) { return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB); } } if (!isSameTag) { return false; } // Assume cyclic values are equal. // For more information on detecting circular references see https://es5.github.io/#JO. stackA || (stackA = []); stackB || (stackB = []); var length = stackA.length; while (length--) { if (stackA[length] == object) { return stackB[length] == other; } } // Add `object` and `other` to the stack of traversed objects. stackA.push(object); stackB.push(other); var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB); stackA.pop(); stackB.pop(); return result; } module.exports = baseIsEqualDeep; /***/ }, /* 127 */ /***/ function(module, exports, __webpack_require__) { var arraySome = __webpack_require__(128); /** * A specialized version of `baseIsEqualDeep` for arrays with support for * partial deep comparisons. * * @private * @param {Array} array The array to compare. * @param {Array} other The other array to compare. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Function} [customizer] The function to customize comparing arrays. * @param {boolean} [isLoose] Specify performing partial comparisons. * @param {Array} [stackA] Tracks traversed `value` objects. * @param {Array} [stackB] Tracks traversed `other` objects. * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. */ function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) { var index = -1, arrLength = array.length, othLength = other.length; if (arrLength != othLength && !(isLoose && othLength > arrLength)) { return false; } // Ignore non-index properties. while (++index < arrLength) { var arrValue = array[index], othValue = other[index], result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined; if (result !== undefined) { if (result) { continue; } return false; } // Recursively compare arrays (susceptible to call stack limits). if (isLoose) { if (!arraySome(other, function(othValue) { return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB); })) { return false; } } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) { return false; } } return true; } module.exports = equalArrays; /***/ }, /* 128 */ /***/ function(module, exports) { /** * A specialized version of `_.some` for arrays without support for callback * shorthands and `this` binding. * * @private * @param {Array} array The array to iterate over. * @param {Function} predicate The function invoked per iteration. * @returns {boolean} Returns `true` if any element passes the predicate check, * else `false`. */ function arraySome(array, predicate) { var index = -1, length = array.length; while (++index < length) { if (predicate(array[index], index, array)) { return true; } } return false; } module.exports = arraySome; /***/ }, /* 129 */ /***/ function(module, exports) { /** `Object#toString` result references. */ var boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', numberTag = '[object Number]', regexpTag = '[object RegExp]', stringTag = '[object String]'; /** * A specialized version of `baseIsEqualDeep` for comparing objects of * the same `toStringTag`. * * **Note:** This function only supports comparing values with tags of * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. * * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {string} tag The `toStringTag` of the objects to compare. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ function equalByTag(object, other, tag) { switch (tag) { case boolTag: case dateTag: // Coerce dates and booleans to numbers, dates to milliseconds and booleans // to `1` or `0` treating invalid dates coerced to `NaN` as not equal. return +object == +other; case errorTag: return object.name == other.name && object.message == other.message; case numberTag: // Treat `NaN` vs. `NaN` as equal. return (object != +object) ? other != +other : object == +other; case regexpTag: case stringTag: // Coerce regexes to strings and treat strings primitives and string // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details. return object == (other + ''); } return false; } module.exports = equalByTag; /***/ }, /* 130 */ /***/ function(module, exports, __webpack_require__) { var keys = __webpack_require__(105); /** Used for native method references. */ var objectProto = Object.prototype; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; /** * A specialized version of `baseIsEqualDeep` for objects with support for * partial deep comparisons. * * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {Function} equalFunc The function to determine equivalents of values. * @param {Function} [customizer] The function to customize comparing values. * @param {boolean} [isLoose] Specify performing partial comparisons. * @param {Array} [stackA] Tracks traversed `value` objects. * @param {Array} [stackB] Tracks traversed `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) { var objProps = keys(object), objLength = objProps.length, othProps = keys(other), othLength = othProps.length; if (objLength != othLength && !isLoose) { return false; } var index = objLength; while (index--) { var key = objProps[index]; if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) { return false; } } var skipCtor = isLoose; while (++index < objLength) { key = objProps[index]; var objValue = object[key], othValue = other[key], result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined; // Recursively compare objects (susceptible to call stack limits). if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) { return false; } skipCtor || (skipCtor = key == 'constructor'); } if (!skipCtor) { var objCtor = object.constructor, othCtor = other.constructor; // Non `Object` object instances with different constructors are not equal. if (objCtor != othCtor && ('constructor' in object && 'constructor' in other) && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) { return false; } } return true; } module.exports = equalObjects; /***/ }, /* 131 */ /***/ function(module, exports, __webpack_require__) { var isLength = __webpack_require__(113), isObjectLike = __webpack_require__(103); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', arrayTag = '[object Array]', boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', funcTag = '[object Function]', mapTag = '[object Map]', numberTag = '[object Number]', objectTag = '[object Object]', regexpTag = '[object RegExp]', setTag = '[object Set]', stringTag = '[object String]', weakMapTag = '[object WeakMap]'; var arrayBufferTag = '[object ArrayBuffer]', float32Tag = '[object Float32Array]', float64Tag = '[object Float64Array]', int8Tag = '[object Int8Array]', int16Tag = '[object Int16Array]', int32Tag = '[object Int32Array]', uint8Tag = '[object Uint8Array]', uint8ClampedTag = '[object Uint8ClampedArray]', uint16Tag = '[object Uint16Array]', uint32Tag = '[object Uint32Array]'; /** Used to identify `toStringTag` values of typed arrays. */ var typedArrayTags = {}; typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; /** Used for native method references. */ var objectProto = Object.prototype; /** * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) * of values. */ var objToString = objectProto.toString; /** * Checks if `value` is classified as a typed array. * * @static * @memberOf _ * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. * @example * * _.isTypedArray(new Uint8Array); * // => true * * _.isTypedArray([]); * // => false */ function isTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)]; } module.exports = isTypedArray; /***/ }, /* 132 */ /***/ function(module, exports, __webpack_require__) { var isStrictComparable = __webpack_require__(133), pairs = __webpack_require__(134); /** * Gets the propery names, values, and compare flags of `object`. * * @private * @param {Object} object The object to query. * @returns {Array} Returns the match data of `object`. */ function getMatchData(object) { var result = pairs(object), length = result.length; while (length--) { result[length][2] = isStrictComparable(result[length][1]); } return result; } module.exports = getMatchData; /***/ }, /* 133 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(101); /** * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` if suitable for strict * equality comparisons, else `false`. */ function isStrictComparable(value) { return value === value && !isObject(value); } module.exports = isStrictComparable; /***/ }, /* 134 */ /***/ function(module, exports, __webpack_require__) { var keys = __webpack_require__(105), toObject = __webpack_require__(100); /** * Creates a two dimensional array of the key-value pairs for `object`, * e.g. `[[key1, value1], [key2, value2]]`. * * @static * @memberOf _ * @category Object * @param {Object} object The object to query. * @returns {Array} Returns the new array of key-value pairs. * @example * * _.pairs({ 'barney': 36, 'fred': 40 }); * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed) */ function pairs(object) { object = toObject(object); var index = -1, props = keys(object), length = props.length, result = Array(length); while (++index < length) { var key = props[index]; result[index] = [key, object[key]]; } return result; } module.exports = pairs; /***/ }, /* 135 */ /***/ function(module, exports, __webpack_require__) { var baseGet = __webpack_require__(136), baseIsEqual = __webpack_require__(125), baseSlice = __webpack_require__(137), isArray = __webpack_require__(116), isKey = __webpack_require__(138), isStrictComparable = __webpack_require__(133), last = __webpack_require__(139), toObject = __webpack_require__(100), toPath = __webpack_require__(140); /** * The base implementation of `_.matchesProperty` which does not clone `srcValue`. * * @private * @param {string} path The path of the property to get. * @param {*} srcValue The value to compare. * @returns {Function} Returns the new function. */ function baseMatchesProperty(path, srcValue) { var isArr = isArray(path), isCommon = isKey(path) && isStrictComparable(srcValue), pathKey = (path + ''); path = toPath(path); return function(object) { if (object == null) { return false; } var key = pathKey; object = toObject(object); if ((isArr || !isCommon) && !(key in object)) { object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1)); if (object == null) { return false; } key = last(path); object = toObject(object); } return object[key] === srcValue ? (srcValue !== undefined || (key in object)) : baseIsEqual(srcValue, object[key], undefined, true); }; } module.exports = baseMatchesProperty; /***/ }, /* 136 */ /***/ function(module, exports, __webpack_require__) { var toObject = __webpack_require__(100); /** * The base implementation of `get` without support for string paths * and default values. * * @private * @param {Object} object The object to query. * @param {Array} path The path of the property to get. * @param {string} [pathKey] The key representation of path. * @returns {*} Returns the resolved value. */ function baseGet(object, path, pathKey) { if (object == null) { return; } object = toObject(object); if (pathKey !== undefined && pathKey in object) { path = [pathKey]; } var index = 0, length = path.length; while (object != null && index < length) { object = toObject(object)[path[index++]]; } return (index && index == length) ? object : undefined; } module.exports = baseGet; /***/ }, /* 137 */ /***/ function(module, exports) { /** * The base implementation of `_.slice` without an iteratee call guard. * * @private * @param {Array} array The array to slice. * @param {number} [start=0] The start position. * @param {number} [end=array.length] The end position. * @returns {Array} Returns the slice of `array`. */ function baseSlice(array, start, end) { var index = -1, length = array.length; start = start == null ? 0 : (+start || 0); if (start < 0) { start = -start > length ? 0 : (length + start); } end = (end === undefined || end > length) ? length : (+end || 0); if (end < 0) { end += length; } length = start > end ? 0 : ((end - start) >>> 0); start >>>= 0; var result = Array(length); while (++index < length) { result[index] = array[index + start]; } return result; } module.exports = baseSlice; /***/ }, /* 138 */ /***/ function(module, exports, __webpack_require__) { var isArray = __webpack_require__(116), toObject = __webpack_require__(100); /** Used to match property names within property paths. */ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/; /** * Checks if `value` is a property name and not a property path. * * @private * @param {*} value The value to check. * @param {Object} [object] The object to query keys on. * @returns {boolean} Returns `true` if `value` is a property name, else `false`. */ function isKey(value, object) { var type = typeof value; if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') { return true; } if (isArray(value)) { return false; } var result = !reIsDeepProp.test(value); return result || (object != null && value in toObject(object)); } module.exports = isKey; /***/ }, /* 139 */ /***/ function(module, exports) { /** * Gets the last element of `array`. * * @static * @memberOf _ * @category Array * @param {Array} array The array to query. * @returns {*} Returns the last element of `array`. * @example * * _.last([1, 2, 3]); * // => 3 */ function last(array) { var length = array ? array.length : 0; return length ? array[length - 1] : undefined; } module.exports = last; /***/ }, /* 140 */ /***/ function(module, exports, __webpack_require__) { var baseToString = __webpack_require__(141), isArray = __webpack_require__(116); /** Used to match property names within property paths. */ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g; /** Used to match backslashes in property paths. */ var reEscapeChar = /\\(\\)?/g; /** * Converts `value` to property path array if it's not one. * * @private * @param {*} value The value to process. * @returns {Array} Returns the property path array. */ function toPath(value) { if (isArray(value)) { return value; } var result = []; baseToString(value).replace(rePropName, function(match, number, quote, string) { result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); }); return result; } module.exports = toPath; /***/ }, /* 141 */ /***/ function(module, exports) { /** * Converts `value` to a string if it's not one. An empty string is returned * for `null` or `undefined` values. * * @private * @param {*} value The value to process. * @returns {string} Returns the string. */ function baseToString(value) { return value == null ? '' : (value + ''); } module.exports = baseToString; /***/ }, /* 142 */ /***/ function(module, exports, __webpack_require__) { var identity = __webpack_require__(143); /** * A specialized version of `baseCallback` which only supports `this` binding * and specifying the number of arguments to provide to `func`. * * @private * @param {Function} func The function to bind. * @param {*} thisArg The `this` binding of `func`. * @param {number} [argCount] The number of arguments to provide to `func`. * @returns {Function} Returns the callback. */ function bindCallback(func, thisArg, argCount) { if (typeof func != 'function') { return identity; } if (thisArg === undefined) { return func; } switch (argCount) { case 1: return function(value) { return func.call(thisArg, value); }; case 3: return function(value, index, collection) { return func.call(thisArg, value, index, collection); }; case 4: return function(accumulator, value, index, collection) { return func.call(thisArg, accumulator, value, index, collection); }; case 5: return function(value, other, key, object, source) { return func.call(thisArg, value, other, key, object, source); }; } return function() { return func.apply(thisArg, arguments); }; } module.exports = bindCallback; /***/ }, /* 143 */ /***/ function(module, exports) { /** * This method returns the first argument provided to it. * * @static * @memberOf _ * @category Utility * @param {*} value Any value. * @returns {*} Returns `value`. * @example * * var object = { 'user': 'fred' }; * * _.identity(object) === object; * // => true */ function identity(value) { return value; } module.exports = identity; /***/ }, /* 144 */ /***/ function(module, exports, __webpack_require__) { var baseProperty = __webpack_require__(112), basePropertyDeep = __webpack_require__(145), isKey = __webpack_require__(138); /** * Creates a function that returns the property value at `path` on a * given object. * * @static * @memberOf _ * @category Utility * @param {Array|string} path The path of the property to get. * @returns {Function} Returns the new function. * @example * * var objects = [ * { 'a': { 'b': { 'c': 2 } } }, * { 'a': { 'b': { 'c': 1 } } } * ]; * * _.map(objects, _.property('a.b.c')); * // => [2, 1] * * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c'); * // => [1, 2] */ function property(path) { return isKey(path) ? baseProperty(path) : basePropertyDeep(path); } module.exports = property; /***/ }, /* 145 */ /***/ function(module, exports, __webpack_require__) { var baseGet = __webpack_require__(136), toPath = __webpack_require__(140); /** * A specialized version of `baseProperty` which supports deep paths. * * @private * @param {Array|string} path The path of the property to get. * @returns {Function} Returns the new function. */ function basePropertyDeep(path) { var pathKey = (path + ''); path = toPath(path); return function(object) { return baseGet(object, path, pathKey); }; } module.exports = basePropertyDeep; /***/ }, /* 146 */ /***/ function(module, exports) { /** * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`, * without support for callback shorthands and `this` binding, which iterates * over `collection` using the provided `eachFunc`. * * @private * @param {Array|Object|string} collection The collection to search. * @param {Function} predicate The function invoked per iteration. * @param {Function} eachFunc The function to iterate over `collection`. * @param {boolean} [retKey] Specify returning the key of the found element * instead of the element itself. * @returns {*} Returns the found element or its key, else `undefined`. */ function baseFind(collection, predicate, eachFunc, retKey) { var result; eachFunc(collection, function(value, key, collection) { if (predicate(value, key, collection)) { result = retKey ? key : value; return false; } }); return result; } module.exports = baseFind; /***/ }, /* 147 */ /***/ function(module, exports) { /** * The base implementation of `_.findIndex` and `_.findLastIndex` without * support for callback shorthands and `this` binding. * * @private * @param {Array} array The array to search. * @param {Function} predicate The function invoked per iteration. * @param {boolean} [fromRight] Specify iterating from right to left. * @returns {number} Returns the index of the matched value, else `-1`. */ function baseFindIndex(array, predicate, fromRight) { var length = array.length, index = fromRight ? length : -1; while ((fromRight ? index-- : ++index < length)) { if (predicate(array[index], index, array)) { return index; } } return -1; } module.exports = baseFindIndex; /***/ }, /* 148 */ /***/ function(module, exports, __webpack_require__) { var arrayMap = __webpack_require__(149), baseDifference = __webpack_require__(150), baseFlatten = __webpack_require__(157), bindCallback = __webpack_require__(142), keysIn = __webpack_require__(118), pickByArray = __webpack_require__(159), pickByCallback = __webpack_require__(160), restParam = __webpack_require__(162); /** * The opposite of `_.pick`; this method creates an object composed of the * own and inherited enumerable properties of `object` that are not omitted. * * @static * @memberOf _ * @category Object * @param {Object} object The source object. * @param {Function|...(string|string[])} [predicate] The function invoked per * iteration or property names to omit, specified as individual property * names or arrays of property names. * @param {*} [thisArg] The `this` binding of `predicate`. * @returns {Object} Returns the new object. * @example * * var object = { 'user': 'fred', 'age': 40 }; * * _.omit(object, 'age'); * // => { 'user': 'fred' } * * _.omit(object, _.isNumber); * // => { 'user': 'fred' } */ var omit = restParam(function(object, props) { if (object == null) { return {}; } if (typeof props[0] != 'function') { var props = arrayMap(baseFlatten(props), String); return pickByArray(object, baseDifference(keysIn(object), props)); } var predicate = bindCallback(props[0], props[1], 3); return pickByCallback(object, function(value, key, object) { return !predicate(value, key, object); }); }); module.exports = omit; /***/ }, /* 149 */ /***/ function(module, exports) { /** * A specialized version of `_.map` for arrays without support for callback * shorthands and `this` binding. * * @private * @param {Array} array The array to iterate over. * @param {Function} iteratee The function invoked per iteration. * @returns {Array} Returns the new mapped array. */ function arrayMap(array, iteratee) { var index = -1, length = array.length, result = Array(length); while (++index < length) { result[index] = iteratee(array[index], index, array); } return result; } module.exports = arrayMap; /***/ }, /* 150 */ /***/ function(module, exports, __webpack_require__) { var baseIndexOf = __webpack_require__(151), cacheIndexOf = __webpack_require__(153), createCache = __webpack_require__(154); /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; /** * The base implementation of `_.difference` which accepts a single array * of values to exclude. * * @private * @param {Array} array The array to inspect. * @param {Array} values The values to exclude. * @returns {Array} Returns the new array of filtered values. */ function baseDifference(array, values) { var length = array ? array.length : 0, result = []; if (!length) { return result; } var index = -1, indexOf = baseIndexOf, isCommon = true, cache = (isCommon && values.length >= LARGE_ARRAY_SIZE) ? createCache(values) : null, valuesLength = values.length; if (cache) { indexOf = cacheIndexOf; isCommon = false; values = cache; } outer: while (++index < length) { var value = array[index]; if (isCommon && value === value) { var valuesIndex = valuesLength; while (valuesIndex--) { if (values[valuesIndex] === value) { continue outer; } } result.push(value); } else if (indexOf(values, value, 0) < 0) { result.push(value); } } return result; } module.exports = baseDifference; /***/ }, /* 151 */ /***/ function(module, exports, __webpack_require__) { var indexOfNaN = __webpack_require__(152); /** * The base implementation of `_.indexOf` without support for binary searches. * * @private * @param {Array} array The array to search. * @param {*} value The value to search for. * @param {number} fromIndex The index to search from. * @returns {number} Returns the index of the matched value, else `-1`. */ function baseIndexOf(array, value, fromIndex) { if (value !== value) { return indexOfNaN(array, fromIndex); } var index = fromIndex - 1, length = array.length; while (++index < length) { if (array[index] === value) { return index; } } return -1; } module.exports = baseIndexOf; /***/ }, /* 152 */ /***/ function(module, exports) { /** * Gets the index at which the first occurrence of `NaN` is found in `array`. * * @private * @param {Array} array The array to search. * @param {number} fromIndex The index to search from. * @param {boolean} [fromRight] Specify iterating from right to left. * @returns {number} Returns the index of the matched `NaN`, else `-1`. */ function indexOfNaN(array, fromIndex, fromRight) { var length = array.length, index = fromIndex + (fromRight ? 0 : -1); while ((fromRight ? index-- : ++index < length)) { var other = array[index]; if (other !== other) { return index; } } return -1; } module.exports = indexOfNaN; /***/ }, /* 153 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(101); /** * Checks if `value` is in `cache` mimicking the return signature of * `_.indexOf` by returning `0` if the value is found, else `-1`. * * @private * @param {Object} cache The cache to search. * @param {*} value The value to search for. * @returns {number} Returns `0` if `value` is found, else `-1`. */ function cacheIndexOf(cache, value) { var data = cache.data, result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value]; return result ? 0 : -1; } module.exports = cacheIndexOf; /***/ }, /* 154 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {var SetCache = __webpack_require__(155), getNative = __webpack_require__(106); /** Native method references. */ var Set = getNative(global, 'Set'); /* Native method references for those with the same name as other `lodash` methods. */ var nativeCreate = getNative(Object, 'create'); /** * Creates a `Set` cache object to optimize linear searches of large arrays. * * @private * @param {Array} [values] The values to cache. * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`. */ function createCache(values) { return (nativeCreate && Set) ? new SetCache(values) : null; } module.exports = createCache; /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, /* 155 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {var cachePush = __webpack_require__(156), getNative = __webpack_require__(106); /** Native method references. */ var Set = getNative(global, 'Set'); /* Native method references for those with the same name as other `lodash` methods. */ var nativeCreate = getNative(Object, 'create'); /** * * Creates a cache object to store unique values. * * @private * @param {Array} [values] The values to cache. */ function SetCache(values) { var length = values ? values.length : 0; this.data = { 'hash': nativeCreate(null), 'set': new Set }; while (length--) { this.push(values[length]); } } // Add functions to the `Set` cache. SetCache.prototype.push = cachePush; module.exports = SetCache; /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, /* 156 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(101); /** * Adds `value` to the cache. * * @private * @name push * @memberOf SetCache * @param {*} value The value to cache. */ function cachePush(value) { var data = this.data; if (typeof value == 'string' || isObject(value)) { data.set.add(value); } else { data.hash[value] = true; } } module.exports = cachePush; /***/ }, /* 157 */ /***/ function(module, exports, __webpack_require__) { var arrayPush = __webpack_require__(158), isArguments = __webpack_require__(115), isArray = __webpack_require__(116), isArrayLike = __webpack_require__(110), isObjectLike = __webpack_require__(103); /** * The base implementation of `_.flatten` with added support for restricting * flattening and specifying the start index. * * @private * @param {Array} array The array to flatten. * @param {boolean} [isDeep] Specify a deep flatten. * @param {boolean} [isStrict] Restrict flattening to arrays-like objects. * @param {Array} [result=[]] The initial result value. * @returns {Array} Returns the new flattened array. */ function baseFlatten(array, isDeep, isStrict, result) { result || (result = []); var index = -1, length = array.length; while (++index < length) { var value = array[index]; if (isObjectLike(value) && isArrayLike(value) && (isStrict || isArray(value) || isArguments(value))) { if (isDeep) { // Recursively flatten arrays (susceptible to call stack limits). baseFlatten(value, isDeep, isStrict, result); } else { arrayPush(result, value); } } else if (!isStrict) { result[result.length] = value; } } return result; } module.exports = baseFlatten; /***/ }, /* 158 */ /***/ function(module, exports) { /** * Appends the elements of `values` to `array`. * * @private * @param {Array} array The array to modify. * @param {Array} values The values to append. * @returns {Array} Returns `array`. */ function arrayPush(array, values) { var index = -1, length = values.length, offset = array.length; while (++index < length) { array[offset + index] = values[index]; } return array; } module.exports = arrayPush; /***/ }, /* 159 */ /***/ function(module, exports, __webpack_require__) { var toObject = __webpack_require__(100); /** * A specialized version of `_.pick` which picks `object` properties specified * by `props`. * * @private * @param {Object} object The source object. * @param {string[]} props The property names to pick. * @returns {Object} Returns the new object. */ function pickByArray(object, props) { object = toObject(object); var index = -1, length = props.length, result = {}; while (++index < length) { var key = props[index]; if (key in object) { result[key] = object[key]; } } return result; } module.exports = pickByArray; /***/ }, /* 160 */ /***/ function(module, exports, __webpack_require__) { var baseForIn = __webpack_require__(161); /** * A specialized version of `_.pick` which picks `object` properties `predicate` * returns truthy for. * * @private * @param {Object} object The source object. * @param {Function} predicate The function invoked per iteration. * @returns {Object} Returns the new object. */ function pickByCallback(object, predicate) { var result = {}; baseForIn(object, function(value, key, object) { if (predicate(value, key, object)) { result[key] = value; } }); return result; } module.exports = pickByCallback; /***/ }, /* 161 */ /***/ function(module, exports, __webpack_require__) { var baseFor = __webpack_require__(98), keysIn = __webpack_require__(118); /** * The base implementation of `_.forIn` without support for callback * shorthands and `this` binding. * * @private * @param {Object} object The object to iterate over. * @param {Function} iteratee The function invoked per iteration. * @returns {Object} Returns `object`. */ function baseForIn(object, iteratee) { return baseFor(object, iteratee, keysIn); } module.exports = baseForIn; /***/ }, /* 162 */ /***/ function(module, exports) { /** Used as the `TypeError` message for "Functions" methods. */ var FUNC_ERROR_TEXT = 'Expected a function'; /* Native method references for those with the same name as other `lodash` methods. */ var nativeMax = Math.max; /** * Creates a function that invokes `func` with the `this` binding of the * created function and arguments from `start` and beyond provided as an array. * * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/Web/JavaScript/Reference/Functions/rest_parameters). * * @static * @memberOf _ * @category Function * @param {Function} func The function to apply a rest parameter to. * @param {number} [start=func.length-1] The start position of the rest parameter. * @returns {Function} Returns the new function. * @example * * var say = _.restParam(function(what, names) { * return what + ' ' + _.initial(names).join(', ') + * (_.size(names) > 1 ? ', & ' : '') + _.last(names); * }); * * say('hello', 'fred', 'barney', 'pebbles'); * // => 'hello fred, barney, & pebbles' */ function restParam(func, start) { if (typeof func != 'function') { throw new TypeError(FUNC_ERROR_TEXT); } start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0); return function() { var args = arguments, index = -1, length = nativeMax(args.length - start, 0), rest = Array(length); while (++index < length) { rest[index] = args[start + index]; } switch (start) { case 0: return func.call(this, rest); case 1: return func.call(this, args[0], rest); case 2: return func.call(this, args[0], args[1], rest); } var otherArgs = Array(start + 1); index = -1; while (++index < start) { otherArgs[index] = args[index]; } otherArgs[start] = rest; return func.apply(this, otherArgs); }; } module.exports = restParam; /***/ }, /* 163 */ /***/ function(module, exports) { "use strict"; exports.__esModule = true; exports["default"] = isRequiredForA11y; function isRequiredForA11y(propType) { return function validate(props, propName, componentName) { if (props[propName] == null) { return new Error("The prop '" + propName + "' is required to make '" + componentName + "' accessible" + " for users using assistive technologies such as screen readers"); } return propType(props, propName, componentName); }; } module.exports = exports["default"]; /***/ }, /* 164 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _createUncontrollable = __webpack_require__(165); var _createUncontrollable2 = _interopRequireDefault(_createUncontrollable); var mixin = { shouldComponentUpdate: function shouldComponentUpdate() { //let the forceUpdate trigger the update return !this._notifying; } }; function set(component, propName, handler, value, args) { if (handler) { component._notifying = true; handler.call.apply(handler, [component, value].concat(args)); component._notifying = false; } component._values[propName] = value; component.forceUpdate(); } exports['default'] = _createUncontrollable2['default']([mixin], set); module.exports = exports['default']; /***/ }, /* 165 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; exports['default'] = createUncontrollable; function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _utils = __webpack_require__(166); var utils = _interopRequireWildcard(_utils); function createUncontrollable(mixins, set) { return uncontrollable; function uncontrollable(Component, controlledValues) { var methods = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2]; var displayName = Component.displayName || Component.name || 'Component', basePropTypes = utils.getType(Component).propTypes, propTypes; propTypes = utils.uncontrolledPropTypes(controlledValues, basePropTypes, displayName); methods = utils.transform(methods, function (obj, method) { obj[method] = function () { var _refs$inner; return (_refs$inner = this.refs.inner)[method].apply(_refs$inner, arguments); }; }, {}); var component = _react2['default'].createClass(_extends({ displayName: 'Uncontrolled(' + displayName + ')', mixins: mixins, propTypes: propTypes }, methods, { componentWillMount: function componentWillMount() { var props = this.props, keys = Object.keys(controlledValues); this._values = utils.transform(keys, function (values, key) { values[key] = props[utils.defaultKey(key)]; }, {}); }, /** * If a prop switches from controlled to Uncontrolled * reset its value to the defaultValue */ componentWillReceiveProps: function componentWillReceiveProps(nextProps) { var _this = this; var props = this.props, keys = Object.keys(controlledValues); keys.forEach(function (key) { if (utils.getValue(nextProps, key) === undefined && utils.getValue(props, key) !== undefined) { _this._values[key] = nextProps[utils.defaultKey(key)]; } }); }, render: function render() { var _this2 = this; var newProps = {}; var _props = this.props; var valueLink = _props.valueLink; var checkedLink = _props.checkedLink; var props = _objectWithoutProperties(_props, ['valueLink', 'checkedLink']); utils.each(controlledValues, function (handle, propName) { var linkPropName = utils.getLinkName(propName), prop = _this2.props[propName]; if (linkPropName && !isProp(_this2.props, propName) && isProp(_this2.props, linkPropName)) { prop = _this2.props[linkPropName].value; } newProps[propName] = prop !== undefined ? prop : _this2._values[propName]; newProps[handle] = setAndNotify.bind(_this2, propName); }); newProps = _extends({}, props, newProps, { ref: 'inner' }); return _react2['default'].createElement(Component, newProps); } })); component.ControlledComponent = Component; return component; function setAndNotify(propName, value) { var linkName = utils.getLinkName(propName), handler = this.props[controlledValues[propName]]; if (linkName && isProp(this.props, linkName) && !handler) { handler = this.props[linkName].requestChange; } for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } set(this, propName, handler, value, args); } function isProp(props, prop) { return props[prop] !== undefined; } } } module.exports = exports['default']; /***/ }, /* 166 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; exports.customPropType = customPropType; exports.uncontrolledPropTypes = uncontrolledPropTypes; exports.getType = getType; exports.getValue = getValue; exports.getLinkName = getLinkName; exports.defaultKey = defaultKey; exports.chain = chain; exports.transform = transform; exports.each = each; exports.has = has; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _invariant = __webpack_require__(167); var _invariant2 = _interopRequireDefault(_invariant); function customPropType(handler, propType, name) { return function (props, propName) { if (props[propName] !== undefined) { if (!props[handler]) { return new Error('You have provided a `' + propName + '` prop to ' + '`' + name + '` without an `' + handler + '` handler. This will render a read-only field. ' + 'If the field should be mutable use `' + defaultKey(propName) + '`. Otherwise, set `' + handler + '`'); } return propType && propType(props, propName, name); } }; } function uncontrolledPropTypes(controlledValues, basePropTypes, displayName) { var propTypes = {}; if (("development") !== 'production' && basePropTypes) { transform(controlledValues, function (obj, handler, prop) { var type = basePropTypes[prop]; _invariant2['default'](typeof handler === 'string' && handler.trim().length, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop); obj[prop] = customPropType(handler, type, displayName); if (type !== undefined) obj[defaultKey(prop)] = type; }, propTypes); } return propTypes; } var version = _react2['default'].version.split('.').map(parseFloat); exports.version = version; function getType(component) { if (version[0] === 0 && version[1] >= 13) return component; return component.type; } function getValue(props, name) { var linkPropName = getLinkName(name); if (linkPropName && !isProp(props, name) && isProp(props, linkPropName)) return props[linkPropName].value; return props[name]; } function isProp(props, prop) { return props[prop] !== undefined; } function getLinkName(name) { return name === 'value' ? 'valueLink' : name === 'checked' ? 'checkedLink' : null; } function defaultKey(key) { return 'default' + key.charAt(0).toUpperCase() + key.substr(1); } function chain(thisArg, a, b) { return function chainedFunction() { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } a && a.call.apply(a, [thisArg].concat(args)); b && b.call.apply(b, [thisArg].concat(args)); }; } function transform(obj, cb, seed) { each(obj, cb.bind(null, seed = seed || (Array.isArray(obj) ? [] : {}))); return seed; } function each(obj, cb, thisArg) { if (Array.isArray(obj)) return obj.forEach(cb, thisArg); for (var key in obj) if (has(obj, key)) cb.call(thisArg, obj[key], key, obj); } function has(o, k) { return o ? Object.prototype.hasOwnProperty.call(o, k) : false; } /***/ }, /* 167 */ /***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule invariant */ 'use strict'; /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ var invariant = function(condition, format, a, b, c, d, e, f) { if (true) { if (format === undefined) { throw new Error('invariant requires an error message argument'); } } if (!condition) { var error; if (format === undefined) { error = new Error( 'Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.' ); } else { var args = [a, b, c, d, e, f]; var argIndex = 0; error = new Error( 'Invariant Violation: ' + format.replace(/%s/g, function() { return args[argIndex++]; }) ); } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } }; module.exports = invariant; /***/ }, /* 168 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _keycode = __webpack_require__(94); var _keycode2 = _interopRequireDefault(_keycode); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _reactOverlaysLibRootCloseWrapper = __webpack_require__(169); var _reactOverlaysLibRootCloseWrapper2 = _interopRequireDefault(_reactOverlaysLibRootCloseWrapper); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var DropdownMenu = (function (_React$Component) { _inherits(DropdownMenu, _React$Component); function DropdownMenu(props) { _classCallCheck(this, DropdownMenu); _React$Component.call(this, props); this.focusNext = this.focusNext.bind(this); this.focusPrevious = this.focusPrevious.bind(this); this.getFocusableMenuItems = this.getFocusableMenuItems.bind(this); this.getItemsAndActiveIndex = this.getItemsAndActiveIndex.bind(this); this.handleKeyDown = this.handleKeyDown.bind(this); } DropdownMenu.prototype.handleKeyDown = function handleKeyDown(event) { switch (event.keyCode) { case _keycode2['default'].codes.down: this.focusNext(); event.preventDefault(); break; case _keycode2['default'].codes.up: this.focusPrevious(); event.preventDefault(); break; case _keycode2['default'].codes.esc: case _keycode2['default'].codes.tab: this.props.onClose(event); break; default: } }; DropdownMenu.prototype.focusNext = function focusNext() { var _getItemsAndActiveIndex = this.getItemsAndActiveIndex(); var items = _getItemsAndActiveIndex.items; var activeItemIndex = _getItemsAndActiveIndex.activeItemIndex; if (items.length === 0) { return; } if (activeItemIndex === items.length - 1) { items[0].focus(); return; } items[activeItemIndex + 1].focus(); }; DropdownMenu.prototype.focusPrevious = function focusPrevious() { var _getItemsAndActiveIndex2 = this.getItemsAndActiveIndex(); var items = _getItemsAndActiveIndex2.items; var activeItemIndex = _getItemsAndActiveIndex2.activeItemIndex; if (activeItemIndex === 0) { items[items.length - 1].focus(); return; } items[activeItemIndex - 1].focus(); }; DropdownMenu.prototype.getItemsAndActiveIndex = function getItemsAndActiveIndex() { var items = this.getFocusableMenuItems(); var activeElement = document.activeElement; var activeItemIndex = items.indexOf(activeElement); return { items: items, activeItemIndex: activeItemIndex }; }; DropdownMenu.prototype.getFocusableMenuItems = function getFocusableMenuItems() { var menuNode = _reactDom2['default'].findDOMNode(this); if (menuNode === undefined) { return []; } return [].slice.call(menuNode.querySelectorAll('[tabIndex="-1"]'), 0); }; DropdownMenu.prototype.render = function render() { var _this = this; var _props = this.props; var children = _props.children; var onSelect = _props.onSelect; var pullRight = _props.pullRight; var className = _props.className; var labelledBy = _props.labelledBy; var open = _props.open; var onClose = _props.onClose; var props = _objectWithoutProperties(_props, ['children', 'onSelect', 'pullRight', 'className', 'labelledBy', 'open', 'onClose']); var items = _utilsValidComponentChildren2['default'].map(children, function (child) { var childProps = child.props || {}; return _react2['default'].cloneElement(child, { onKeyDown: _utilsCreateChainedFunction2['default'](childProps.onKeyDown, _this.handleKeyDown), onSelect: _utilsCreateChainedFunction2['default'](childProps.onSelect, onSelect) }, childProps.children); }); var classes = { 'dropdown-menu': true, 'dropdown-menu-right': pullRight }; var list = _react2['default'].createElement( 'ul', _extends({ className: _classnames2['default'](className, classes), role: 'menu', 'aria-labelledby': labelledBy }, props), items ); if (open) { list = _react2['default'].createElement( _reactOverlaysLibRootCloseWrapper2['default'], { noWrap: true, onRootClose: onClose }, list ); } return list; }; return DropdownMenu; })(_react2['default'].Component); DropdownMenu.defaultProps = { bsRole: 'menu', pullRight: false }; DropdownMenu.propTypes = { open: _react2['default'].PropTypes.bool, pullRight: _react2['default'].PropTypes.bool, onClose: _react2['default'].PropTypes.func, labelledBy: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]), onSelect: _react2['default'].PropTypes.func }; exports['default'] = DropdownMenu; module.exports = exports['default']; /***/ }, /* 169 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _utilsAddEventListener = __webpack_require__(170); var _utilsAddEventListener2 = _interopRequireDefault(_utilsAddEventListener); var _utilsCreateChainedFunction = __webpack_require__(172); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var _utilsOwnerDocument = __webpack_require__(173); var _utilsOwnerDocument2 = _interopRequireDefault(_utilsOwnerDocument); // TODO: Consider using an ES6 symbol here, once we use babel-runtime. var CLICK_WAS_INSIDE = '__click_was_inside'; var counter = 0; function getSuppressRootClose() { var id = CLICK_WAS_INSIDE + '_' + counter++; return { id: id, suppressRootClose: function suppressRootClose(event) { // Tag the native event to prevent the root close logic on document click. // This seems safer than using event.nativeEvent.stopImmediatePropagation(), // which is only supported in IE >= 9. event.nativeEvent[id] = true; } }; } var RootCloseWrapper = (function (_React$Component) { function RootCloseWrapper(props) { _classCallCheck(this, RootCloseWrapper); _React$Component.call(this, props); this.handleDocumentClick = this.handleDocumentClick.bind(this); this.handleDocumentKeyUp = this.handleDocumentKeyUp.bind(this); var _getSuppressRootClose = getSuppressRootClose(); var id = _getSuppressRootClose.id; var suppressRootClose = _getSuppressRootClose.suppressRootClose; this._suppressRootId = id; this._suppressRootCloseHandler = suppressRootClose; } _inherits(RootCloseWrapper, _React$Component); RootCloseWrapper.prototype.bindRootCloseHandlers = function bindRootCloseHandlers() { var doc = _utilsOwnerDocument2['default'](this); this._onDocumentClickListener = _utilsAddEventListener2['default'](doc, 'click', this.handleDocumentClick); this._onDocumentKeyupListener = _utilsAddEventListener2['default'](doc, 'keyup', this.handleDocumentKeyUp); }; RootCloseWrapper.prototype.handleDocumentClick = function handleDocumentClick(e) { // This is now the native event. if (e[this._suppressRootId]) { return; } this.props.onRootClose(); }; RootCloseWrapper.prototype.handleDocumentKeyUp = function handleDocumentKeyUp(e) { if (e.keyCode === 27) { this.props.onRootClose(); } }; RootCloseWrapper.prototype.unbindRootCloseHandlers = function unbindRootCloseHandlers() { if (this._onDocumentClickListener) { this._onDocumentClickListener.remove(); } if (this._onDocumentKeyupListener) { this._onDocumentKeyupListener.remove(); } }; RootCloseWrapper.prototype.componentDidMount = function componentDidMount() { this.bindRootCloseHandlers(); }; RootCloseWrapper.prototype.render = function render() { var _props = this.props; var noWrap = _props.noWrap; var children = _props.children; var child = _react2['default'].Children.only(children); if (noWrap) { return _react2['default'].cloneElement(child, { onClick: _utilsCreateChainedFunction2['default'](this._suppressRootCloseHandler, child.props.onClick) }); } // Wrap the child in a new element, so the child won't have to handle // potentially combining multiple onClick listeners. return _react2['default'].createElement( 'div', { onClick: this._suppressRootCloseHandler }, child ); }; RootCloseWrapper.prototype.getWrappedDOMNode = function getWrappedDOMNode() { // We can't use a ref to identify the wrapped child, since we might be // stealing the ref from the owner, but we know exactly the DOM structure // that will be rendered, so we can just do this to get the child's DOM // node for doing size calculations in OverlayMixin. var node = _reactDom2['default'].findDOMNode(this); return this.props.noWrap ? node : node.firstChild; }; RootCloseWrapper.prototype.componentWillUnmount = function componentWillUnmount() { this.unbindRootCloseHandlers(); }; return RootCloseWrapper; })(_react2['default'].Component); exports['default'] = RootCloseWrapper; RootCloseWrapper.displayName = 'RootCloseWrapper'; RootCloseWrapper.propTypes = { onRootClose: _react2['default'].PropTypes.func.isRequired, /** * Passes the suppress click handler directly to the child component instead * of placing it on a wrapping div. Only use when you can be sure the child * properly handle the click event. */ noWrap: _react2['default'].PropTypes.bool }; module.exports = exports['default']; /***/ }, /* 170 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _domHelpersEventsOn = __webpack_require__(90); var _domHelpersEventsOn2 = _interopRequireDefault(_domHelpersEventsOn); var _domHelpersEventsOff = __webpack_require__(171); var _domHelpersEventsOff2 = _interopRequireDefault(_domHelpersEventsOff); exports['default'] = function (node, event, handler) { _domHelpersEventsOn2['default'](node, event, handler); return { remove: function remove() { _domHelpersEventsOff2['default'](node, event, handler); } }; }; module.exports = exports['default']; /***/ }, /* 171 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var canUseDOM = __webpack_require__(41); var off = function off() {}; if (canUseDOM) { off = (function () { if (document.addEventListener) return function (node, eventName, handler, capture) { return node.removeEventListener(eventName, handler, capture || false); };else if (document.attachEvent) return function (node, eventName, handler) { return node.detachEvent('on' + eventName, handler); }; })(); } module.exports = off; /***/ }, /* 172 */ /***/ function(module, exports) { /** * Safe chained function * * Will only create a new function if needed, * otherwise will pass back existing functions or null. * * @param {function} functions to chain * @returns {function|null} */ 'use strict'; exports.__esModule = true; function createChainedFunction() { for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } return funcs.filter(function (f) { return f != null; }).reduce(function (acc, f) { if (typeof f !== 'function') { throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.'); } if (acc === null) { return f; } return function chainedFunction() { for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } acc.apply(this, args); f.apply(this, args); }; }, null); } exports['default'] = createChainedFunction; module.exports = exports['default']; /***/ }, /* 173 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _domHelpersOwnerDocument = __webpack_require__(36); var _domHelpersOwnerDocument2 = _interopRequireDefault(_domHelpersOwnerDocument); exports['default'] = function (componentOrElement) { return _domHelpersOwnerDocument2['default'](_reactDom2['default'].findDOMNode(componentOrElement)); }; module.exports = exports['default']; /***/ }, /* 174 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _Button = __webpack_require__(62); var _Button2 = _interopRequireDefault(_Button); var _reactPropTypesLibSinglePropFrom = __webpack_require__(5); var _reactPropTypesLibSinglePropFrom2 = _interopRequireDefault(_reactPropTypesLibSinglePropFrom); var _SafeAnchor = __webpack_require__(49); var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); var CARET = _react2['default'].createElement( 'span', null, ' ', _react2['default'].createElement('span', { className: 'caret' }) ); var DropdownToggle = (function (_React$Component) { _inherits(DropdownToggle, _React$Component); function DropdownToggle() { _classCallCheck(this, DropdownToggle); _React$Component.apply(this, arguments); } DropdownToggle.prototype.render = function render() { var caret = this.props.noCaret ? null : CARET; var classes = { 'dropdown-toggle': true }; var Component = this.props.useAnchor ? _SafeAnchor2['default'] : _Button2['default']; return _react2['default'].createElement( Component, _extends({}, this.props, { className: _classnames2['default'](classes, this.props.className), type: 'button', 'aria-haspopup': true, 'aria-expanded': this.props.open }), this.props.title || this.props.children, caret ); }; return DropdownToggle; })(_react2['default'].Component); exports['default'] = DropdownToggle; var titleAndChildrenValidation = _reactPropTypesLibSinglePropFrom2['default']('title', 'children'); DropdownToggle.defaultProps = { open: false, useAnchor: false, bsRole: 'toggle' }; DropdownToggle.propTypes = { bsRole: _react2['default'].PropTypes.string, children: titleAndChildrenValidation, noCaret: _react2['default'].PropTypes.bool, open: _react2['default'].PropTypes.bool, title: titleAndChildrenValidation, useAnchor: _react2['default'].PropTypes.bool }; DropdownToggle.isToggle = true; DropdownToggle.titleProp = 'title'; DropdownToggle.onClickProp = 'onClick'; module.exports = exports['default']; /***/ }, /* 175 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _reactPropTypesLibCommon = __webpack_require__(31); var _childrenToArray = __webpack_require__(176); var _childrenToArray2 = _interopRequireDefault(_childrenToArray); exports['default'] = { requiredRoles: function requiredRoles() { for (var _len = arguments.length, roles = Array(_len), _key = 0; _key < _len; _key++) { roles[_key] = arguments[_key]; } return _reactPropTypesLibCommon.createChainableTypeChecker(function requiredRolesValidator(props, propName, component) { var missing = undefined; var children = _childrenToArray2['default'](props.children); var inRole = function inRole(role, child) { return role === child.props.bsRole; }; roles.every(function (role) { if (!children.some(function (child) { return inRole(role, child); })) { missing = role; return false; } return true; }); if (missing) { return new Error('(children) ' + component + ' - Missing a required child with bsRole: ' + missing + '. ' + (component + ' must have at least one child of each of the following bsRoles: ' + roles.join(', '))); } }); }, exclusiveRoles: function exclusiveRoles() { for (var _len2 = arguments.length, roles = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { roles[_key2] = arguments[_key2]; } return _reactPropTypesLibCommon.createChainableTypeChecker(function exclusiveRolesValidator(props, propName, component) { var children = _childrenToArray2['default'](props.children); var duplicate = undefined; roles.every(function (role) { var childrenWithRole = children.filter(function (child) { return child.props.bsRole === role; }); if (childrenWithRole.length > 1) { duplicate = role; return false; } return true; }); if (duplicate) { return new Error('(children) ' + component + ' - Duplicate children detected of bsRole: ' + duplicate + '. ' + ('Only one child each allowed with the following bsRoles: ' + roles.join(', '))); } }); } }; module.exports = exports['default']; /***/ }, /* 176 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; exports['default'] = childrenAsArray; var _ValidComponentChildren = __webpack_require__(7); var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); function childrenAsArray(children) { var result = []; if (children === undefined) { return result; } _ValidComponentChildren2['default'].forEach(children, function (child) { result.push(child); }); return result; } module.exports = exports['default']; /***/ }, /* 177 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _Dropdown = __webpack_require__(92); var _Dropdown2 = _interopRequireDefault(_Dropdown); var _lodashCompatObjectOmit = __webpack_require__(148); var _lodashCompatObjectOmit2 = _interopRequireDefault(_lodashCompatObjectOmit); var DropdownButton = (function (_React$Component) { _inherits(DropdownButton, _React$Component); function DropdownButton(props) { _classCallCheck(this, DropdownButton); _React$Component.call(this, props); } DropdownButton.prototype.render = function render() { var _props = this.props; var title = _props.title; var props = _objectWithoutProperties(_props, ['title']); var toggleProps = _lodashCompatObjectOmit2['default'](props, _Dropdown2['default'].ControlledComponent.propTypes); return _react2['default'].createElement( _Dropdown2['default'], props, _react2['default'].createElement( _Dropdown2['default'].Toggle, toggleProps, title ), _react2['default'].createElement( _Dropdown2['default'].Menu, null, this.props.children ) ); }; return DropdownButton; })(_react2['default'].Component); DropdownButton.propTypes = _extends({ /** * When used with the `title` prop, the noCaret option will not render a caret icon, in the toggle element. */ noCaret: _react2['default'].PropTypes.bool, title: _react2['default'].PropTypes.node.isRequired }, _Dropdown2['default'].propTypes, _BootstrapMixin2['default'].propTypes); DropdownButton.defaultProps = { pullRight: false, dropup: false, navItem: false, noCaret: false }; exports['default'] = DropdownButton; module.exports = exports['default']; /***/ }, /* 178 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var Grid = _react2['default'].createClass({ displayName: 'Grid', propTypes: { /** * Turn any fixed-width grid layout into a full-width layout by this property. * * Adds `container-fluid` class. */ fluid: _react2['default'].PropTypes.bool, /** * You can use a custom element for this component */ componentClass: _reactPropTypesLibElementType2['default'] }, getDefaultProps: function getDefaultProps() { return { componentClass: 'div', fluid: false }; }, render: function render() { var ComponentClass = this.props.componentClass; var className = this.props.fluid ? 'container-fluid' : 'container'; return _react2['default'].createElement( ComponentClass, _extends({}, this.props, { className: _classnames2['default'](this.props.className, className) }), this.props.children ); } }); exports['default'] = Grid; module.exports = exports['default']; /***/ }, /* 179 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var Image = _react2['default'].createClass({ displayName: 'Image', propTypes: { /** * Sets image as responsive image */ responsive: _react2['default'].PropTypes.bool, /** * Sets image shape as rounded */ rounded: _react2['default'].PropTypes.bool, /** * Sets image shape as circle */ circle: _react2['default'].PropTypes.bool, /** * Sets image shape as thumbnail */ thumbnail: _react2['default'].PropTypes.bool }, getDefaultProps: function getDefaultProps() { return { responsive: false, rounded: false, circle: false, thumbnail: false }; }, render: function render() { var classes = { 'img-responsive': this.props.responsive, 'img-rounded': this.props.rounded, 'img-circle': this.props.circle, 'img-thumbnail': this.props.thumbnail }; return _react2['default'].createElement('img', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) })); } }); exports['default'] = Image; module.exports = exports['default']; /***/ }, /* 180 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; var _interopRequireWildcard = __webpack_require__(2)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _InputBase2 = __webpack_require__(66); var _InputBase3 = _interopRequireDefault(_InputBase2); var _FormControls = __webpack_require__(181); var FormControls = _interopRequireWildcard(_FormControls); var _utilsDeprecationWarning = __webpack_require__(183); var _utilsDeprecationWarning2 = _interopRequireDefault(_utilsDeprecationWarning); var Input = (function (_InputBase) { _inherits(Input, _InputBase); function Input() { _classCallCheck(this, Input); _InputBase.apply(this, arguments); } Input.prototype.render = function render() { if (this.props.type === 'static') { _utilsDeprecationWarning2['default']('Input type=static', 'FormControls.Static'); return _react2['default'].createElement(FormControls.Static, this.props); } return _InputBase.prototype.render.call(this); }; return Input; })(_InputBase3['default']); Input.propTypes = { type: _react2['default'].PropTypes.string }; exports['default'] = Input; module.exports = exports['default']; /***/ }, /* 181 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _Static2 = __webpack_require__(182); var _Static3 = _interopRequireDefault(_Static2); exports.Static = _Static3['default']; /***/ }, /* 182 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _InputBase2 = __webpack_require__(66); var _InputBase3 = _interopRequireDefault(_InputBase2); var _utilsChildrenValueInputValidation = __webpack_require__(3); var _utilsChildrenValueInputValidation2 = _interopRequireDefault(_utilsChildrenValueInputValidation); var Static = (function (_InputBase) { _inherits(Static, _InputBase); function Static() { _classCallCheck(this, Static); _InputBase.apply(this, arguments); } Static.prototype.getValue = function getValue() { var _props = this.props; var children = _props.children; var value = _props.value; return children ? children : value; }; Static.prototype.renderInput = function renderInput() { return _react2['default'].createElement( 'p', _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'form-control-static'), ref: 'input', key: 'input' }), this.getValue() ); }; return Static; })(_InputBase3['default']); Static.propTypes = { value: _utilsChildrenValueInputValidation2['default'], children: _utilsChildrenValueInputValidation2['default'] }; exports['default'] = Static; module.exports = exports['default']; /***/ }, /* 183 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _warning = __webpack_require__(48); var _warning2 = _interopRequireDefault(_warning); var warned = {}; function deprecationWarning(oldname, newname, link) { var message = undefined; if (typeof oldname === 'object') { message = oldname.message; } else { message = oldname + ' is deprecated. Use ' + newname + ' instead.'; if (link) { message += '\nYou can read more about it at ' + link; } } if (warned[message]) { return; } _warning2['default'](false, message); warned[message] = true; } deprecationWarning.wrapper = function (Component) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } return (function (_Component) { _inherits(DeprecatedComponent, _Component); function DeprecatedComponent() { _classCallCheck(this, DeprecatedComponent); _Component.apply(this, arguments); } DeprecatedComponent.prototype.componentWillMount = function componentWillMount() { deprecationWarning.apply(undefined, args); if (_Component.prototype.componentWillMount) { var _Component$prototype$componentWillMount; for (var _len2 = arguments.length, methodArgs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { methodArgs[_key2] = arguments[_key2]; } (_Component$prototype$componentWillMount = _Component.prototype.componentWillMount).call.apply(_Component$prototype$componentWillMount, [this].concat(methodArgs)); } }; return DeprecatedComponent; })(Component); }; exports['default'] = deprecationWarning; module.exports = exports['default']; /***/ }, /* 184 */ /***/ function(module, exports, __webpack_require__) { // https://www.npmjs.org/package/react-interpolate-component // TODO: Drop this in favor of es6 string interpolation 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var REGEXP = /\%\((.+?)\)s/; var Interpolate = _react2['default'].createClass({ displayName: 'Interpolate', propTypes: { component: _react2['default'].PropTypes.node, format: _react2['default'].PropTypes.string, unsafe: _react2['default'].PropTypes.bool }, getDefaultProps: function getDefaultProps() { return { component: 'span', unsafe: false }; }, render: function render() { var format = _utilsValidComponentChildren2['default'].hasValidComponent(this.props.children) || typeof this.props.children === 'string' ? this.props.children : this.props.format; var parent = this.props.component; var unsafe = this.props.unsafe === true; var props = _extends({}, this.props); delete props.children; delete props.format; delete props.component; delete props.unsafe; if (unsafe) { var content = format.split(REGEXP).reduce(function (memo, match, index) { var html = undefined; if (index % 2 === 0) { html = match; } else { html = props[match]; delete props[match]; } if (_react2['default'].isValidElement(html)) { throw new Error('cannot interpolate a React component into unsafe text'); } memo += html; return memo; }, ''); props.dangerouslySetInnerHTML = { __html: content }; return _react2['default'].createElement(parent, props); } var kids = format.split(REGEXP).reduce(function (memo, match, index) { var child = undefined; if (index % 2 === 0) { if (match.length === 0) { return memo; } child = match; } else { child = props[match]; delete props[match]; } memo.push(child); return memo; }, []); return _react2['default'].createElement(parent, props, kids); } }); exports['default'] = Interpolate; module.exports = exports['default']; /***/ }, /* 185 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var Jumbotron = _react2['default'].createClass({ displayName: 'Jumbotron', propTypes: { /** * You can use a custom element for this component */ componentClass: _reactPropTypesLibElementType2['default'] }, getDefaultProps: function getDefaultProps() { return { componentClass: 'div' }; }, render: function render() { var ComponentClass = this.props.componentClass; return _react2['default'].createElement( ComponentClass, _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'jumbotron') }), this.props.children ); } }); exports['default'] = Jumbotron; module.exports = exports['default']; /***/ }, /* 186 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var Label = _react2['default'].createClass({ displayName: 'Label', mixins: [_BootstrapMixin2['default']], getDefaultProps: function getDefaultProps() { return { bsClass: 'label', bsStyle: 'default' }; }, render: function render() { var classes = this.getBsClassSet(); return _react2['default'].createElement( 'span', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.children ); } }); exports['default'] = Label; module.exports = exports['default']; /***/ }, /* 187 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _ListGroupItem = __webpack_require__(188); var _ListGroupItem2 = _interopRequireDefault(_ListGroupItem); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var ListGroup = (function (_React$Component) { _inherits(ListGroup, _React$Component); function ListGroup() { _classCallCheck(this, ListGroup); _React$Component.apply(this, arguments); } ListGroup.prototype.render = function render() { var _this = this; var items = _utilsValidComponentChildren2['default'].map(this.props.children, function (item, index) { return _react.cloneElement(item, { key: item.key ? item.key : index }); }); if (this.areCustomChildren(items)) { var Component = this.props.componentClass; return _react2['default'].createElement( Component, _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'list-group') }), items ); } var shouldRenderDiv = false; if (!this.props.children) { shouldRenderDiv = true; } else { _utilsValidComponentChildren2['default'].forEach(this.props.children, function (child) { if (_this.isAnchorOrButton(child.props)) { shouldRenderDiv = true; } }); } return shouldRenderDiv ? this.renderDiv(items) : this.renderUL(items); }; ListGroup.prototype.isAnchorOrButton = function isAnchorOrButton(props) { return props.href || props.onClick; }; ListGroup.prototype.areCustomChildren = function areCustomChildren(children) { var customChildren = false; _utilsValidComponentChildren2['default'].forEach(children, function (child) { if (child.type !== _ListGroupItem2['default']) { customChildren = true; } }, this); return customChildren; }; ListGroup.prototype.renderUL = function renderUL(items) { var listItems = _utilsValidComponentChildren2['default'].map(items, function (item) { return _react.cloneElement(item, { listItem: true }); }); return _react2['default'].createElement( 'ul', _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'list-group') }), listItems ); }; ListGroup.prototype.renderDiv = function renderDiv(items) { return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'list-group') }), items ); }; return ListGroup; })(_react2['default'].Component); ListGroup.defaultProps = { componentClass: 'div' }; ListGroup.propTypes = { className: _react2['default'].PropTypes.string, /** * The element for ListGroup if children are * user-defined custom components. * @type {("ul"|"div")} */ componentClass: _react2['default'].PropTypes.oneOf(['ul', 'div']), id: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]) }; exports['default'] = ListGroup; module.exports = exports['default']; /***/ }, /* 188 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var ListGroupItem = _react2['default'].createClass({ displayName: 'ListGroupItem', mixins: [_BootstrapMixin2['default']], propTypes: { bsStyle: _react2['default'].PropTypes.oneOf(['danger', 'info', 'success', 'warning']), className: _react2['default'].PropTypes.string, active: _react2['default'].PropTypes.any, disabled: _react2['default'].PropTypes.any, header: _react2['default'].PropTypes.node, listItem: _react2['default'].PropTypes.bool, onClick: _react2['default'].PropTypes.func, href: _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { bsClass: 'list-group-item', listItem: false }; }, render: function render() { var classes = this.getBsClassSet(); classes.active = this.props.active; classes.disabled = this.props.disabled; if (this.props.href) { return this.renderAnchor(classes); } else if (this.props.onClick) { return this.renderButton(classes); } else if (this.props.listItem) { return this.renderLi(classes); } return this.renderSpan(classes); }, renderLi: function renderLi(classes) { return _react2['default'].createElement( 'li', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.header ? this.renderStructuredContent() : this.props.children ); }, renderAnchor: function renderAnchor(classes) { return _react2['default'].createElement( 'a', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.header ? this.renderStructuredContent() : this.props.children ); }, renderButton: function renderButton(classes) { return _react2['default'].createElement( 'button', _extends({ type: 'button' }, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.header ? this.renderStructuredContent() : this.props.children ); }, renderSpan: function renderSpan(classes) { return _react2['default'].createElement( 'span', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.header ? this.renderStructuredContent() : this.props.children ); }, renderStructuredContent: function renderStructuredContent() { var header = undefined; if (_react2['default'].isValidElement(this.props.header)) { header = _react.cloneElement(this.props.header, { key: 'header', className: _classnames2['default'](this.props.header.props.className, 'list-group-item-heading') }); } else { header = _react2['default'].createElement( 'h4', { key: 'header', className: 'list-group-item-heading' }, this.props.header ); } var content = _react2['default'].createElement( 'p', { key: 'content', className: 'list-group-item-text' }, this.props.children ); return [header, content]; } }); exports['default'] = ListGroupItem; module.exports = exports['default']; /***/ }, /* 189 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _reactPropTypesLibAll = __webpack_require__(69); var _reactPropTypesLibAll2 = _interopRequireDefault(_reactPropTypesLibAll); var _SafeAnchor = __webpack_require__(49); var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); var MenuItem = (function (_React$Component) { _inherits(MenuItem, _React$Component); function MenuItem(props) { _classCallCheck(this, MenuItem); _React$Component.call(this, props); this.handleClick = this.handleClick.bind(this); } MenuItem.prototype.handleClick = function handleClick(event) { if (!this.props.href || this.props.disabled) { event.preventDefault(); } if (this.props.disabled) { return; } if (this.props.onSelect) { this.props.onSelect(event, this.props.eventKey); } }; MenuItem.prototype.render = function render() { if (this.props.divider) { return _react2['default'].createElement('li', { role: 'separator', className: 'divider' }); } if (this.props.header) { return _react2['default'].createElement( 'li', { role: 'heading', className: 'dropdown-header' }, this.props.children ); } var classes = { disabled: this.props.disabled, active: this.props.active }; return _react2['default'].createElement( 'li', { role: 'presentation', className: _classnames2['default'](this.props.className, classes), style: this.props.style }, _react2['default'].createElement( _SafeAnchor2['default'], { role: 'menuitem', tabIndex: '-1', id: this.props.id, target: this.props.target, title: this.props.title, href: this.props.href || '', onKeyDown: this.props.onKeyDown, onClick: this.handleClick }, this.props.children ) ); }; return MenuItem; })(_react2['default'].Component); exports['default'] = MenuItem; MenuItem.propTypes = { active: _react2['default'].PropTypes.bool, disabled: _react2['default'].PropTypes.bool, divider: _reactPropTypesLibAll2['default'](_react2['default'].PropTypes.bool, function (props) { if (props.divider && props.children) { return new Error('Children will not be rendered for dividers'); } }), eventKey: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.number, _react2['default'].PropTypes.string]), header: _react2['default'].PropTypes.bool, href: _react2['default'].PropTypes.string, target: _react2['default'].PropTypes.string, title: _react2['default'].PropTypes.string, onKeyDown: _react2['default'].PropTypes.func, onSelect: _react2['default'].PropTypes.func, id: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]) }; MenuItem.defaultProps = { divider: false, disabled: false, header: false }; module.exports = exports['default']; /***/ }, /* 190 */ /***/ function(module, exports, __webpack_require__) { /* eslint-disable react/prop-types */ 'use strict'; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _Object$isFrozen = __webpack_require__(191)['default']; var _Object$keys = __webpack_require__(75)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _utilsDomUtils = __webpack_require__(35); var _utilsDomUtils2 = _interopRequireDefault(_utilsDomUtils); var _domHelpersUtilScrollbarSize = __webpack_require__(194); var _domHelpersUtilScrollbarSize2 = _interopRequireDefault(_domHelpersUtilScrollbarSize); var _utilsEventListener = __webpack_require__(43); var _utilsEventListener2 = _interopRequireDefault(_utilsEventListener); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var _domHelpersUtilInDOM = __webpack_require__(41); var _domHelpersUtilInDOM2 = _interopRequireDefault(_domHelpersUtilInDOM); var _domHelpersQueryContains = __webpack_require__(40); var _domHelpersQueryContains2 = _interopRequireDefault(_domHelpersQueryContains); var _domHelpersActiveElement = __webpack_require__(93); var _domHelpersActiveElement2 = _interopRequireDefault(_domHelpersActiveElement); var _reactOverlaysLibPortal = __webpack_require__(195); var _reactOverlaysLibPortal2 = _interopRequireDefault(_reactOverlaysLibPortal); var _Fade = __webpack_require__(199); var _Fade2 = _interopRequireDefault(_Fade); var _ModalDialog = __webpack_require__(200); var _ModalDialog2 = _interopRequireDefault(_ModalDialog); var _ModalBody = __webpack_require__(201); var _ModalBody2 = _interopRequireDefault(_ModalBody); var _ModalHeader = __webpack_require__(202); var _ModalHeader2 = _interopRequireDefault(_ModalHeader); var _ModalTitle = __webpack_require__(203); var _ModalTitle2 = _interopRequireDefault(_ModalTitle); var _ModalFooter = __webpack_require__(204); var _ModalFooter2 = _interopRequireDefault(_ModalFooter); /** * Gets the correct clientHeight of the modal container * when the body/window/document you need to use the docElement clientHeight * @param {HTMLElement} container * @param {ReactElement|HTMLElement} context * @return {Number} */ function containerClientHeight(container, context) { var doc = _utilsDomUtils2['default'].ownerDocument(context); return container === doc.body || container === doc.documentElement ? doc.documentElement.clientHeight : container.clientHeight; } function getContainer(context) { return context.props.container && _reactDom2['default'].findDOMNode(context.props.container) || _utilsDomUtils2['default'].ownerDocument(context).body; } var currentFocusListener = undefined; /** * Firefox doesn't have a focusin event so using capture is easiest way to get bubbling * IE8 can't do addEventListener, but does have onfocusin, so we use that in ie8 * * We only allow one Listener at a time to avoid stack overflows * * @param {ReactElement|HTMLElement} context * @param {Function} handler */ function onFocus(context, handler) { var doc = _utilsDomUtils2['default'].ownerDocument(context); var useFocusin = !doc.addEventListener; var remove = undefined; if (currentFocusListener) { currentFocusListener.remove(); } if (useFocusin) { document.attachEvent('onfocusin', handler); remove = function () { return document.detachEvent('onfocusin', handler); }; } else { document.addEventListener('focus', handler, true); remove = function () { return document.removeEventListener('focus', handler, true); }; } currentFocusListener = { remove: remove }; return currentFocusListener; } var Modal = _react2['default'].createClass({ displayName: 'Modal', propTypes: _extends({}, _reactOverlaysLibPortal2['default'].propTypes, _ModalDialog2['default'].propTypes, { /** * Include a backdrop component. Specify 'static' for a backdrop that doesn't trigger an "onHide" when clicked. */ backdrop: _react2['default'].PropTypes.oneOf(['static', true, false]), /** * Close the modal when escape key is pressed */ keyboard: _react2['default'].PropTypes.bool, /** * Open and close the Modal with a slide and fade animation. */ animation: _react2['default'].PropTypes.bool, /** * A Component type that provides the modal content Markup. This is a useful prop when you want to use your own * styles and markup to create a custom modal component. */ dialogComponent: _reactPropTypesLibElementType2['default'], /** * When `true` The modal will automatically shift focus to itself when it opens, and replace it to the last focused element when it closes. * Generally this should never be set to false as it makes the Modal less accessible to assistive technologies, like screen-readers. */ autoFocus: _react2['default'].PropTypes.bool, /** * When `true` The modal will prevent focus from leaving the Modal while open. * Consider leaving the default value here, as it is necessary to make the Modal work well with assistive technologies, * such as screen readers. */ enforceFocus: _react2['default'].PropTypes.bool, /** * Hide this from automatic props documentation generation. * @private */ bsStyle: _react2['default'].PropTypes.string, /** * When `true` The modal will show itself. */ show: _react2['default'].PropTypes.bool }), getDefaultProps: function getDefaultProps() { return { bsClass: 'modal', dialogComponent: _ModalDialog2['default'], show: false, animation: true, backdrop: true, keyboard: true, autoFocus: true, enforceFocus: true }; }, getInitialState: function getInitialState() { return { exited: !this.props.show }; }, render: function render() { var _props = this.props; var children = _props.children; var animation = _props.animation; var backdrop = _props.backdrop; var props = _objectWithoutProperties(_props, ['children', 'animation', 'backdrop']); var onExit = props.onExit; var onExiting = props.onExiting; var onEnter = props.onEnter; var onEntering = props.onEntering; var onEntered = props.onEntered; var show = !!props.show; var Dialog = props.dialogComponent; var mountModal = show || animation && !this.state.exited; if (!mountModal) { return null; } var modal = _react2['default'].createElement( Dialog, _extends({}, props, { ref: this._setDialogRef, className: _classnames2['default'](this.props.className, { 'in': show && !animation }), onClick: backdrop === true ? this.handleBackdropClick : null }), this.renderContent() ); if (animation) { modal = _react2['default'].createElement( _Fade2['default'], { transitionAppear: true, unmountOnExit: true, 'in': show, timeout: Modal.TRANSITION_DURATION, onExit: onExit, onExiting: onExiting, onExited: this.handleHidden, onEnter: onEnter, onEntering: onEntering, onEntered: onEntered }, modal ); } if (backdrop) { modal = this.renderBackdrop(modal); } return _react2['default'].createElement( _reactOverlaysLibPortal2['default'], { container: props.container }, modal ); }, renderContent: function renderContent() { var _this = this; return _react2['default'].Children.map(this.props.children, function (child) { // TODO: use context in 0.14 if (child && child.type && child.type.__isModalHeader) { return _react.cloneElement(child, { onHide: _utilsCreateChainedFunction2['default'](_this.props.onHide, child.props.onHide) }); } return child; }); }, renderBackdrop: function renderBackdrop(modal) { var _props2 = this.props; var animation = _props2.animation; var bsClass = _props2.bsClass; var duration = Modal.BACKDROP_TRANSITION_DURATION; // Don't handle clicks for "static" backdrops var onClick = this.props.backdrop === true ? this.handleBackdropClick : null; var backdrop = _react2['default'].createElement('div', { ref: 'backdrop', className: _classnames2['default'](bsClass + '-backdrop', { 'in': this.props.show && !animation }), onClick: onClick }); return _react2['default'].createElement( 'div', { ref: 'modal' }, animation ? _react2['default'].createElement( _Fade2['default'], { transitionAppear: true, 'in': this.props.show, timeout: duration }, backdrop ) : backdrop, modal ); }, _setDialogRef: function _setDialogRef(ref) { // issue #1074 // due to: https://github.com/facebook/react/blob/v0.13.3/src/core/ReactCompositeComponent.js#L842 // // when backdrop is `false` react hasn't had a chance to reassign the refs to a usable object, b/c there are no other // "classic" refs on the component (or they haven't been processed yet) // TODO: Remove the need for this in next breaking release if (_Object$isFrozen(this.refs) && !_Object$keys(this.refs).length) { this.refs = {}; } this.refs.dialog = ref; // maintains backwards compat with older component breakdown if (!this.props.backdrop) { this.refs.modal = ref; } }, componentWillReceiveProps: function componentWillReceiveProps(nextProps) { if (nextProps.show) { this.setState({ exited: false }); } else if (!nextProps.animation) { // Otherwise let handleHidden take care of marking exited. this.setState({ exited: true }); } }, componentWillUpdate: function componentWillUpdate(nextProps) { if (nextProps.show) { this.checkForFocus(); } }, componentDidMount: function componentDidMount() { if (this.props.show) { this.onShow(); } }, componentDidUpdate: function componentDidUpdate(prevProps) { var animation = this.props.animation; if (prevProps.show && !this.props.show && !animation) { // otherwise handleHidden will call this. this.onHide(); } else if (!prevProps.show && this.props.show) { this.onShow(); } }, componentWillUnmount: function componentWillUnmount() { if (this.props.show) { this.onHide(); } }, onShow: function onShow() { var _this2 = this; var doc = _utilsDomUtils2['default'].ownerDocument(this); var win = _utilsDomUtils2['default'].ownerWindow(this); this._onDocumentKeyupListener = _utilsEventListener2['default'].listen(doc, 'keyup', this.handleDocumentKeyUp); this._onWindowResizeListener = _utilsEventListener2['default'].listen(win, 'resize', this.handleWindowResize); if (this.props.enforceFocus) { this._onFocusinListener = onFocus(this, this.enforceFocus); } var container = getContainer(this); container.className += container.className.length ? ' modal-open' : 'modal-open'; this._containerIsOverflowing = container.scrollHeight > containerClientHeight(container, this); this._originalPadding = container.style.paddingRight; if (this._containerIsOverflowing) { container.style.paddingRight = parseInt(this._originalPadding || 0, 10) + _domHelpersUtilScrollbarSize2['default']() + 'px'; } this.setState(this._getStyles(), function () { return _this2.focusModalContent(); }); }, onHide: function onHide() { this._onDocumentKeyupListener.remove(); this._onWindowResizeListener.remove(); if (this._onFocusinListener) { this._onFocusinListener.remove(); } var container = getContainer(this); container.style.paddingRight = this._originalPadding; container.className = container.className.replace(/ ?modal-open/, ''); this.restoreLastFocus(); }, handleHidden: function handleHidden() { this.setState({ exited: true }); this.onHide(); if (this.props.onExited) { var _props3; (_props3 = this.props).onExited.apply(_props3, arguments); } }, handleBackdropClick: function handleBackdropClick(e) { if (e.target !== e.currentTarget) { return; } this.props.onHide(); }, handleDocumentKeyUp: function handleDocumentKeyUp(e) { if (this.props.keyboard && e.keyCode === 27) { this.props.onHide(); } }, handleWindowResize: function handleWindowResize() { this.setState(this._getStyles()); }, checkForFocus: function checkForFocus() { if (_domHelpersUtilInDOM2['default']) { this.lastFocus = _domHelpersActiveElement2['default'](document); } }, focusModalContent: function focusModalContent() { var modalContent = _reactDom2['default'].findDOMNode(this.refs.dialog); var current = _domHelpersActiveElement2['default'](_utilsDomUtils2['default'].ownerDocument(this)); var focusInModal = current && _domHelpersQueryContains2['default'](modalContent, current); if (modalContent && this.props.autoFocus && !focusInModal) { this.lastFocus = current; modalContent.focus(); } }, restoreLastFocus: function restoreLastFocus() { if (this.lastFocus && this.lastFocus.focus) { this.lastFocus.focus(); this.lastFocus = null; } }, enforceFocus: function enforceFocus() { if (!this.isMounted()) { return; } var active = _domHelpersActiveElement2['default'](_utilsDomUtils2['default'].ownerDocument(this)); var modal = _reactDom2['default'].findDOMNode(this.refs.dialog); if (modal && modal !== active && !_domHelpersQueryContains2['default'](modal, active)) { modal.focus(); } }, _getStyles: function _getStyles() { if (!_domHelpersUtilInDOM2['default']) { return {}; } var node = _reactDom2['default'].findDOMNode(this.refs.modal); var scrollHt = node.scrollHeight; var container = getContainer(this); var containerIsOverflowing = this._containerIsOverflowing; var modalIsOverflowing = scrollHt > containerClientHeight(container, this); return { dialogStyles: { paddingRight: containerIsOverflowing && !modalIsOverflowing ? _domHelpersUtilScrollbarSize2['default']() : void 0, paddingLeft: !containerIsOverflowing && modalIsOverflowing ? _domHelpersUtilScrollbarSize2['default']() : void 0 } }; } }); Modal.Body = _ModalBody2['default']; Modal.Header = _ModalHeader2['default']; Modal.Title = _ModalTitle2['default']; Modal.Footer = _ModalFooter2['default']; Modal.Dialog = _ModalDialog2['default']; Modal.TRANSITION_DURATION = 300; Modal.BACKDROP_TRANSITION_DURATION = 150; exports['default'] = Modal; module.exports = exports['default']; /***/ }, /* 191 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(192), __esModule: true }; /***/ }, /* 192 */ /***/ function(module, exports, __webpack_require__) { __webpack_require__(193); module.exports = __webpack_require__(15).Object.isFrozen; /***/ }, /* 193 */ /***/ function(module, exports, __webpack_require__) { // 19.1.2.12 Object.isFrozen(O) var isObject = __webpack_require__(57); __webpack_require__(78)('isFrozen', function($isFrozen){ return function isFrozen(it){ return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; }; }); /***/ }, /* 194 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var canUseDOM = __webpack_require__(41); var size; module.exports = function (recalc) { if (!size || recalc) { if (canUseDOM) { var scrollDiv = document.createElement('div'); scrollDiv.style.position = 'absolute'; scrollDiv.style.top = '-9999px'; scrollDiv.style.width = '50px'; scrollDiv.style.height = '50px'; scrollDiv.style.overflow = 'scroll'; document.body.appendChild(scrollDiv); size = scrollDiv.offsetWidth - scrollDiv.clientWidth; document.body.removeChild(scrollDiv); } } return size; }; /***/ }, /* 195 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _reactPropTypesLibMountable = __webpack_require__(196); var _reactPropTypesLibMountable2 = _interopRequireDefault(_reactPropTypesLibMountable); var _utilsOwnerDocument = __webpack_require__(173); var _utilsOwnerDocument2 = _interopRequireDefault(_utilsOwnerDocument); var _utilsGetContainer = __webpack_require__(198); var _utilsGetContainer2 = _interopRequireDefault(_utilsGetContainer); /** * The `` component renders its children into a new "subtree" outside of current component hierarchy. * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`. * The children of `` component will be appended to the `container` specified. */ var Portal = _react2['default'].createClass({ displayName: 'Portal', propTypes: { /** * A Node, Component instance, or function that returns either. The `container` will have the Portal children * appended to it. */ container: _react2['default'].PropTypes.oneOfType([_reactPropTypesLibMountable2['default'], _react2['default'].PropTypes.func]) }, componentDidMount: function componentDidMount() { this._renderOverlay(); }, componentDidUpdate: function componentDidUpdate() { this._renderOverlay(); }, componentWillUnmount: function componentWillUnmount() { this._unrenderOverlay(); this._unmountOverlayTarget(); }, _mountOverlayTarget: function _mountOverlayTarget() { if (!this._overlayTarget) { this._overlayTarget = document.createElement('div'); this.getContainerDOMNode().appendChild(this._overlayTarget); } }, _unmountOverlayTarget: function _unmountOverlayTarget() { if (this._overlayTarget) { this.getContainerDOMNode().removeChild(this._overlayTarget); this._overlayTarget = null; } }, _renderOverlay: function _renderOverlay() { var overlay = !this.props.children ? null : _react2['default'].Children.only(this.props.children); // Save reference for future access. if (overlay !== null) { this._mountOverlayTarget(); this._overlayInstance = _reactDom2['default'].unstable_renderSubtreeIntoContainer(this, overlay, this._overlayTarget); } else { // Unrender if the component is null for transitions to null this._unrenderOverlay(); this._unmountOverlayTarget(); } }, _unrenderOverlay: function _unrenderOverlay() { if (this._overlayTarget) { _reactDom2['default'].unmountComponentAtNode(this._overlayTarget); this._overlayInstance = null; } }, render: function render() { return null; }, getMountNode: function getMountNode() { return this._overlayTarget; }, getOverlayDOMNode: function getOverlayDOMNode() { if (!this.isMounted()) { throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.'); } if (this._overlayInstance) { if (this._overlayInstance.getWrappedDOMNode) { return this._overlayInstance.getWrappedDOMNode(); } else { return _reactDom2['default'].findDOMNode(this._overlayInstance); } } return null; }, getContainerDOMNode: function getContainerDOMNode() { return _utilsGetContainer2['default'](this.props.container, _utilsOwnerDocument2['default'](this).body); } }); exports['default'] = Portal; module.exports = exports['default']; /***/ }, /* 196 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _common = __webpack_require__(197); /** * Checks whether a prop provides a DOM element * * The element can be provided in two forms: * - Directly passed * - Or passed an object that has a `render` method * * @param props * @param propName * @param componentName * @returns {Error|undefined} */ function validate(props, propName, componentName) { if (typeof props[propName] !== 'object' || typeof props[propName].render !== 'function' && props[propName].nodeType !== 1) { return new Error(_common.errMsg(props, propName, componentName, ', expected a DOM element or an object that has a `render` method')); } } exports['default'] = _common.createChainableTypeChecker(validate); module.exports = exports['default']; /***/ }, /* 197 */ /***/ function(module, exports) { 'use strict'; exports.__esModule = true; exports.errMsg = errMsg; exports.createChainableTypeChecker = createChainableTypeChecker; function errMsg(props, propName, componentName, msgContinuation) { return 'Invalid prop \'' + propName + '\' of value \'' + props[propName] + '\'' + (' supplied to \'' + componentName + '\'' + msgContinuation); } /** * Create chain-able isRequired validator * * Largely copied directly from: * https://github.com/facebook/react/blob/0.11-stable/src/core/ReactPropTypes.js#L94 */ function createChainableTypeChecker(validate) { function checkType(isRequired, props, propName, componentName) { componentName = componentName || '<>'; if (props[propName] == null) { if (isRequired) { return new Error('Required prop \'' + propName + '\' was not specified in \'' + componentName + '\'.'); } } else { return validate(props, propName, componentName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } /***/ }, /* 198 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; exports['default'] = getContainer; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); function getContainer(container, defaultContainer) { container = typeof container === 'function' ? container() : container; return _reactDom2['default'].findDOMNode(container) || defaultContainer; } module.exports = exports['default']; /***/ }, /* 199 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactOverlaysLibTransition = __webpack_require__(88); var _reactOverlaysLibTransition2 = _interopRequireDefault(_reactOverlaysLibTransition); var _reactPropTypesLibDeprecated = __webpack_require__(91); var _reactPropTypesLibDeprecated2 = _interopRequireDefault(_reactPropTypesLibDeprecated); var Fade = (function (_React$Component) { _inherits(Fade, _React$Component); function Fade() { _classCallCheck(this, Fade); _React$Component.apply(this, arguments); } // Explicitly copied from Transition for doc generation. // TODO: Remove duplication once #977 is resolved. Fade.prototype.render = function render() { var timeout = this.props.timeout || this.props.duration; return _react2['default'].createElement( _reactOverlaysLibTransition2['default'], _extends({}, this.props, { timeout: timeout, className: 'fade', enteredClassName: 'in', enteringClassName: 'in' }), this.props.children ); }; return Fade; })(_react2['default'].Component); Fade.propTypes = { /** * Show the component; triggers the fade in or fade out animation */ 'in': _react2['default'].PropTypes.bool, /** * Unmount the component (remove it from the DOM) when it is faded out */ unmountOnExit: _react2['default'].PropTypes.bool, /** * Run the fade in animation when the component mounts, if it is initially * shown */ transitionAppear: _react2['default'].PropTypes.bool, /** * Duration of the fade animation in milliseconds, to ensure that finishing * callbacks are fired even if the original browser transition end events are * canceled */ timeout: _react2['default'].PropTypes.number, /** * duration * @private */ duration: _reactPropTypesLibDeprecated2['default'](_react2['default'].PropTypes.number, 'Use `timeout`.'), /** * Callback fired before the component fades in */ onEnter: _react2['default'].PropTypes.func, /** * Callback fired after the component starts to fade in */ onEntering: _react2['default'].PropTypes.func, /** * Callback fired after the has component faded in */ onEntered: _react2['default'].PropTypes.func, /** * Callback fired before the component fades out */ onExit: _react2['default'].PropTypes.func, /** * Callback fired after the component starts to fade out */ onExiting: _react2['default'].PropTypes.func, /** * Callback fired after the component has faded out */ onExited: _react2['default'].PropTypes.func }; Fade.defaultProps = { 'in': false, timeout: 300, unmountOnExit: false, transitionAppear: false }; exports['default'] = Fade; module.exports = exports['default']; /***/ }, /* 200 */ /***/ function(module, exports, __webpack_require__) { /* eslint-disable react/prop-types */ 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var ModalDialog = _react2['default'].createClass({ displayName: 'ModalDialog', mixins: [_BootstrapMixin2['default']], propTypes: { /** * A Callback fired when the header closeButton or non-static backdrop is clicked. * @type {function} * @required */ onHide: _react2['default'].PropTypes.func.isRequired, /** * A css class to apply to the Modal dialog DOM node. */ dialogClassName: _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { bsClass: 'modal', closeButton: true }; }, render: function render() { var modalStyle = _extends({ display: 'block' }, this.props.style); var bsClass = this.props.bsClass; var dialogClasses = this.getBsClassSet(); delete dialogClasses.modal; dialogClasses[bsClass + '-dialog'] = true; return _react2['default'].createElement( 'div', _extends({}, this.props, { title: null, tabIndex: '-1', role: 'dialog', style: modalStyle, className: _classnames2['default'](this.props.className, bsClass) }), _react2['default'].createElement( 'div', { className: _classnames2['default'](this.props.dialogClassName, dialogClasses) }, _react2['default'].createElement( 'div', { className: bsClass + '-content', role: 'document' }, this.props.children ) ) ); } }); exports['default'] = ModalDialog; module.exports = exports['default']; /***/ }, /* 201 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var ModalBody = (function (_React$Component) { _inherits(ModalBody, _React$Component); function ModalBody() { _classCallCheck(this, ModalBody); _React$Component.apply(this, arguments); } ModalBody.prototype.render = function render() { return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, this.props.modalClassName) }), this.props.children ); }; return ModalBody; })(_react2['default'].Component); ModalBody.propTypes = { /** * A css class applied to the Component */ modalClassName: _react2['default'].PropTypes.string }; ModalBody.defaultProps = { modalClassName: 'modal-body' }; exports['default'] = ModalBody; module.exports = exports['default']; /***/ }, /* 202 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var ModalHeader = (function (_React$Component) { _inherits(ModalHeader, _React$Component); function ModalHeader() { _classCallCheck(this, ModalHeader); _React$Component.apply(this, arguments); } // used in liue of parent contexts right now to auto wire the close button ModalHeader.prototype.render = function render() { return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, this.props.modalClassName) }), this.props.closeButton && _react2['default'].createElement( 'button', { className: 'close', onClick: this.props.onHide }, _react2['default'].createElement( 'span', { 'aria-hidden': 'true' }, '×' ) ), this.props.children ); }; return ModalHeader; })(_react2['default'].Component); ModalHeader.__isModalHeader = true; ModalHeader.propTypes = { /** * The 'aria-label' attribute is used to define a string that labels the current element. * It is used for Assistive Technology when the label text is not visible on screen. */ 'aria-label': _react2['default'].PropTypes.string, /** * A css class applied to the Component */ modalClassName: _react2['default'].PropTypes.string, /** * Specify whether the Component should contain a close button */ closeButton: _react2['default'].PropTypes.bool, /** * A Callback fired when the close button is clicked. If used directly inside a Modal component, the onHide will automatically * be propagated up to the parent Modal `onHide`. */ onHide: _react2['default'].PropTypes.func }; ModalHeader.defaultProps = { 'aria-label': 'Close', modalClassName: 'modal-header', closeButton: false }; exports['default'] = ModalHeader; module.exports = exports['default']; /***/ }, /* 203 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var ModalTitle = (function (_React$Component) { _inherits(ModalTitle, _React$Component); function ModalTitle() { _classCallCheck(this, ModalTitle); _React$Component.apply(this, arguments); } ModalTitle.prototype.render = function render() { return _react2['default'].createElement( 'h4', _extends({}, this.props, { className: _classnames2['default'](this.props.className, this.props.modalClassName) }), this.props.children ); }; return ModalTitle; })(_react2['default'].Component); ModalTitle.propTypes = { /** * A css class applied to the Component */ modalClassName: _react2['default'].PropTypes.string }; ModalTitle.defaultProps = { modalClassName: 'modal-title' }; exports['default'] = ModalTitle; module.exports = exports['default']; /***/ }, /* 204 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var ModalFooter = (function (_React$Component) { _inherits(ModalFooter, _React$Component); function ModalFooter() { _classCallCheck(this, ModalFooter); _React$Component.apply(this, arguments); } ModalFooter.prototype.render = function render() { return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, this.props.modalClassName) }), this.props.children ); }; return ModalFooter; })(_react2['default'].Component); ModalFooter.propTypes = { /** * A css class applied to the Component */ modalClassName: _react2['default'].PropTypes.string }; ModalFooter.defaultProps = { modalClassName: 'modal-footer' }; exports['default'] = ModalFooter; module.exports = exports['default']; /***/ }, /* 205 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _Collapse = __webpack_require__(80); var _Collapse2 = _interopRequireDefault(_Collapse); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var Nav = _react2['default'].createClass({ displayName: 'Nav', mixins: [_BootstrapMixin2['default']], propTypes: { activeHref: _react2['default'].PropTypes.string, activeKey: _react2['default'].PropTypes.any, bsStyle: _react2['default'].PropTypes.oneOf(['tabs', 'pills']), stacked: _react2['default'].PropTypes.bool, justified: _react2['default'].PropTypes.bool, onSelect: _react2['default'].PropTypes.func, collapsible: _react2['default'].PropTypes.bool, /** * CSS classes for the wrapper `nav` element */ className: _react2['default'].PropTypes.string, /** * HTML id for the wrapper `nav` element */ id: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]), /** * CSS classes for the inner `ul` element */ ulClassName: _react2['default'].PropTypes.string, /** * HTML id for the inner `ul` element */ ulId: _react2['default'].PropTypes.string, expanded: _react2['default'].PropTypes.bool, navbar: _react2['default'].PropTypes.bool, eventKey: _react2['default'].PropTypes.any, pullRight: _react2['default'].PropTypes.bool, right: _react2['default'].PropTypes.bool }, getDefaultProps: function getDefaultProps() { return { bsClass: 'nav', collapsible: false, expanded: true, justified: false, navbar: false, pullRight: false, right: false, stacked: false }; }, render: function render() { var classes = this.props.collapsible ? 'navbar-collapse' : null; if (this.props.navbar && !this.props.collapsible) { return this.renderUl(); } return _react2['default'].createElement( _Collapse2['default'], { 'in': this.props.expanded }, _react2['default'].createElement( 'nav', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.renderUl() ) ); }, renderUl: function renderUl() { var classes = this.getBsClassSet(); classes['nav-stacked'] = this.props.stacked; classes['nav-justified'] = this.props.justified; classes['navbar-nav'] = this.props.navbar; classes['pull-right'] = this.props.pullRight; classes['navbar-right'] = this.props.right; return _react2['default'].createElement( 'ul', _extends({}, this.props, { role: this.props.bsStyle === 'tabs' ? 'tablist' : null, className: _classnames2['default'](this.props.ulClassName, classes), id: this.props.ulId, ref: 'ul' }), _utilsValidComponentChildren2['default'].map(this.props.children, this.renderNavItem) ); }, getChildActiveProp: function getChildActiveProp(child) { if (child.props.active) { return true; } if (this.props.activeKey != null) { if (child.props.eventKey === this.props.activeKey) { return true; } } if (this.props.activeHref != null) { if (child.props.href === this.props.activeHref) { return true; } } return child.props.active; }, renderNavItem: function renderNavItem(child, index) { return _react.cloneElement(child, { role: this.props.bsStyle === 'tabs' ? 'tab' : null, active: this.getChildActiveProp(child), activeKey: this.props.activeKey, activeHref: this.props.activeHref, onSelect: _utilsCreateChainedFunction2['default'](child.props.onSelect, this.props.onSelect), key: child.key ? child.key : index, navItem: true }); } }); exports['default'] = Nav; module.exports = exports['default']; /***/ }, /* 206 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _objectWithoutProperties = __webpack_require__(26)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactPropTypesLibDeprecated = __webpack_require__(91); var _reactPropTypesLibDeprecated2 = _interopRequireDefault(_reactPropTypesLibDeprecated); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _Grid = __webpack_require__(178); var _Grid2 = _interopRequireDefault(_Grid); var _NavBrand = __webpack_require__(207); var _NavBrand2 = _interopRequireDefault(_NavBrand); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var Navbar = _react2['default'].createClass({ displayName: 'Navbar', mixins: [_BootstrapMixin2['default']], propTypes: { fixedTop: _react2['default'].PropTypes.bool, fixedBottom: _react2['default'].PropTypes.bool, staticTop: _react2['default'].PropTypes.bool, inverse: _react2['default'].PropTypes.bool, fluid: _react2['default'].PropTypes.bool, role: _react2['default'].PropTypes.string, /** * You can use a custom element for this component */ componentClass: _reactPropTypesLibElementType2['default'], brand: _reactPropTypesLibDeprecated2['default'](_react2['default'].PropTypes.node, 'Use the `NavBrand` component.'), toggleButton: _react2['default'].PropTypes.node, toggleNavKey: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]), onToggle: _react2['default'].PropTypes.func, navExpanded: _react2['default'].PropTypes.bool, defaultNavExpanded: _react2['default'].PropTypes.bool }, getDefaultProps: function getDefaultProps() { return { bsClass: 'navbar', bsStyle: 'default', role: 'navigation', componentClass: 'nav', fixedTop: false, fixedBottom: false, staticTop: false, inverse: false, fluid: false, defaultNavExpanded: false }; }, getInitialState: function getInitialState() { return { navExpanded: this.props.defaultNavExpanded }; }, shouldComponentUpdate: function shouldComponentUpdate() { // Defer any updates to this component during the `onSelect` handler. return !this._isChanging; }, handleToggle: function handleToggle() { if (this.props.onToggle) { this._isChanging = true; this.props.onToggle(); this._isChanging = false; } this.setState({ navExpanded: !this.state.navExpanded }); }, isNavExpanded: function isNavExpanded() { return this.props.navExpanded != null ? this.props.navExpanded : this.state.navExpanded; }, hasNavBrandChild: function hasNavBrandChild() { return _utilsValidComponentChildren2['default'].findValidComponents(this.props.children, function (child) { return child.props.bsRole === 'brand'; }).length > 0; }, render: function render() { var _props = this.props; var brand = _props.brand; var toggleButton = _props.toggleButton; var toggleNavKey = _props.toggleNavKey; var fixedTop = _props.fixedTop; var fixedBottom = _props.fixedBottom; var staticTop = _props.staticTop; var inverse = _props.inverse; var ComponentClass = _props.componentClass; var fluid = _props.fluid; var className = _props.className; var children = _props.children; var props = _objectWithoutProperties(_props, ['brand', 'toggleButton', 'toggleNavKey', 'fixedTop', 'fixedBottom', 'staticTop', 'inverse', 'componentClass', 'fluid', 'className', 'children']); var classes = this.getBsClassSet(); classes['navbar-fixed-top'] = fixedTop; classes['navbar-fixed-bottom'] = fixedBottom; classes['navbar-static-top'] = staticTop; classes['navbar-inverse'] = inverse; var showHeader = (brand || toggleButton || toggleNavKey != null) && !this.hasNavBrandChild(); return _react2['default'].createElement( ComponentClass, _extends({}, props, { className: _classnames2['default'](className, classes) }), _react2['default'].createElement( _Grid2['default'], { fluid: fluid }, showHeader ? this.renderBrandHeader() : null, _utilsValidComponentChildren2['default'].map(children, this.renderChild) ) ); }, renderBrandHeader: function renderBrandHeader() { var brand = this.props.brand; if (brand) { brand = _react2['default'].createElement( _NavBrand2['default'], null, brand ); } return this.renderHeader(brand); }, renderHeader: function renderHeader(brand) { var hasToggle = this.props.toggleButton || this.props.toggleNavKey != null; return _react2['default'].createElement( 'div', { className: 'navbar-header' }, brand, hasToggle ? this.renderToggleButton() : null ); }, renderChild: function renderChild(child, index) { var key = child.key != null ? child.key : index; if (child.props.bsRole === 'brand') { return _react2['default'].cloneElement(this.renderHeader(child), { key: key }); } var toggleNavKey = this.props.toggleNavKey; var collapsible = toggleNavKey != null && toggleNavKey === child.props.eventKey; return _react2['default'].cloneElement(child, { navbar: true, collapsible: collapsible, expanded: collapsible && this.isNavExpanded(), key: key }); }, renderToggleButton: function renderToggleButton() { var toggleButton = this.props.toggleButton; if (_react2['default'].isValidElement(toggleButton)) { return _react2['default'].cloneElement(toggleButton, { className: _classnames2['default'](toggleButton.props.className, 'navbar-toggle'), onClick: _utilsCreateChainedFunction2['default'](this.handleToggle, toggleButton.props.onClick) }); } var children = undefined; if (toggleButton != null) { children = toggleButton; } else { children = [_react2['default'].createElement( 'span', { className: 'sr-only', key: 0 }, 'Toggle navigation' ), _react2['default'].createElement('span', { className: 'icon-bar', key: 1 }), _react2['default'].createElement('span', { className: 'icon-bar', key: 2 }), _react2['default'].createElement('span', { className: 'icon-bar', key: 3 })]; } return _react2['default'].createElement( 'button', { type: 'button', onClick: this.handleToggle, className: 'navbar-toggle' }, children ); } }); exports['default'] = Navbar; module.exports = exports['default']; /***/ }, /* 207 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var NavBrand = (function (_React$Component) { _inherits(NavBrand, _React$Component); function NavBrand() { _classCallCheck(this, NavBrand); _React$Component.apply(this, arguments); } NavBrand.prototype.render = function render() { var _props = this.props; var className = _props.className; var children = _props.children; var props = _objectWithoutProperties(_props, ['className', 'children']); if (_react2['default'].isValidElement(children)) { return _react2['default'].cloneElement(children, { className: _classnames2['default'](children.props.className, className, 'navbar-brand') }); } return _react2['default'].createElement( 'span', _extends({}, props, { className: _classnames2['default'](className, 'navbar-brand') }), children ); }; return NavBrand; })(_react2['default'].Component); NavBrand.propTypes = { bsRole: _react2['default'].PropTypes.string }; NavBrand.defaultProps = { bsRole: 'brand' }; exports['default'] = NavBrand; module.exports = exports['default']; /***/ }, /* 208 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _Dropdown = __webpack_require__(92); var _Dropdown2 = _interopRequireDefault(_Dropdown); var NavDropdown = (function (_React$Component) { _inherits(NavDropdown, _React$Component); function NavDropdown() { _classCallCheck(this, NavDropdown); _React$Component.apply(this, arguments); } NavDropdown.prototype.render = function render() { var _props = this.props; var children = _props.children; var title = _props.title; var noCaret = _props.noCaret; var props = _objectWithoutProperties(_props, ['children', 'title', 'noCaret']); return _react2['default'].createElement( _Dropdown2['default'], _extends({}, props, { componentClass: 'li' }), _react2['default'].createElement( _Dropdown2['default'].Toggle, { useAnchor: true, disabled: props.disabled, noCaret: noCaret }, title ), _react2['default'].createElement( _Dropdown2['default'].Menu, null, children ) ); }; return NavDropdown; })(_react2['default'].Component); NavDropdown.propTypes = _extends({ noCaret: _react2['default'].PropTypes.bool, title: _react2['default'].PropTypes.node.isRequired }, _Dropdown2['default'].propTypes); exports['default'] = NavDropdown; module.exports = exports['default']; /***/ }, /* 209 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _objectWithoutProperties = __webpack_require__(26)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _SafeAnchor = __webpack_require__(49); var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); var NavItem = _react2['default'].createClass({ displayName: 'NavItem', mixins: [_BootstrapMixin2['default']], propTypes: { linkId: _react2['default'].PropTypes.string, onSelect: _react2['default'].PropTypes.func, active: _react2['default'].PropTypes.bool, disabled: _react2['default'].PropTypes.bool, href: _react2['default'].PropTypes.string, role: _react2['default'].PropTypes.string, title: _react2['default'].PropTypes.node, eventKey: _react2['default'].PropTypes.any, target: _react2['default'].PropTypes.string, 'aria-controls': _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { active: false, disabled: false }; }, render: function render() { var _props = this.props; var role = _props.role; var linkId = _props.linkId; var disabled = _props.disabled; var active = _props.active; var href = _props.href; var title = _props.title; var target = _props.target; var children = _props.children; var tabIndex = _props.tabIndex; var ariaControls = _props['aria-controls']; var props = _objectWithoutProperties(_props, ['role', 'linkId', 'disabled', 'active', 'href', 'title', 'target', 'children', 'tabIndex', 'aria-controls']); var classes = { active: active, disabled: disabled }; var linkProps = { role: role, href: href, title: title, target: target, tabIndex: tabIndex, id: linkId, onClick: this.handleClick }; if (!role && href === '#') { linkProps.role = 'button'; } return _react2['default'].createElement( 'li', _extends({}, props, { role: 'presentation', className: _classnames2['default'](props.className, classes) }), _react2['default'].createElement( _SafeAnchor2['default'], _extends({}, linkProps, { 'aria-selected': active, 'aria-controls': ariaControls }), children ) ); }, handleClick: function handleClick(e) { if (this.props.onSelect) { e.preventDefault(); if (!this.props.disabled) { this.props.onSelect(this.props.eventKey, this.props.href, this.props.target); } } } }); exports['default'] = NavItem; module.exports = exports['default']; //eslint-disable-line /***/ }, /* 210 */ /***/ function(module, exports, __webpack_require__) { /* eslint react/prop-types: [2, {ignore: ["container", "containerPadding", "target", "placement", "children"] }] */ /* These properties are validated in 'Portal' and 'Position' components */ 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactOverlaysLibOverlay = __webpack_require__(211); var _reactOverlaysLibOverlay2 = _interopRequireDefault(_reactOverlaysLibOverlay); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var _Fade = __webpack_require__(199); var _Fade2 = _interopRequireDefault(_Fade); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var Overlay = (function (_React$Component) { _inherits(Overlay, _React$Component); function Overlay() { _classCallCheck(this, Overlay); _React$Component.apply(this, arguments); } Overlay.prototype.render = function render() { var _props = this.props; var child = _props.children; var transition = _props.animation; var props = _objectWithoutProperties(_props, ['children', 'animation']); if (transition === true) { transition = _Fade2['default']; } if (!transition) { child = _react.cloneElement(child, { className: _classnames2['default']('in', child.props.className) }); } return _react2['default'].createElement( _reactOverlaysLibOverlay2['default'], _extends({}, props, { transition: transition }), child ); }; return Overlay; })(_react2['default'].Component); Overlay.propTypes = _extends({}, _reactOverlaysLibOverlay2['default'].propTypes, { /** * Set the visibility of the Overlay */ show: _react2['default'].PropTypes.bool, /** * Specify whether the overlay should trigger onHide when the user clicks outside the overlay */ rootClose: _react2['default'].PropTypes.bool, /** * A callback invoked by the overlay when it wishes to be hidden. Required if * `rootClose` is specified. */ onHide: _react2['default'].PropTypes.func, /** * Use animation */ animation: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.bool, _reactPropTypesLibElementType2['default']]), /** * Callback fired before the Overlay transitions in */ onEnter: _react2['default'].PropTypes.func, /** * Callback fired as the Overlay begins to transition in */ onEntering: _react2['default'].PropTypes.func, /** * Callback fired after the Overlay finishes transitioning in */ onEntered: _react2['default'].PropTypes.func, /** * Callback fired right before the Overlay transitions out */ onExit: _react2['default'].PropTypes.func, /** * Callback fired as the Overlay begins to transition out */ onExiting: _react2['default'].PropTypes.func, /** * Callback fired after the Overlay finishes transitioning out */ onExited: _react2['default'].PropTypes.func }); Overlay.defaultProps = { animation: _Fade2['default'], rootClose: false, show: false }; exports['default'] = Overlay; module.exports = exports['default']; /***/ }, /* 211 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _Portal = __webpack_require__(195); var _Portal2 = _interopRequireDefault(_Portal); var _Position = __webpack_require__(212); var _Position2 = _interopRequireDefault(_Position); var _RootCloseWrapper = __webpack_require__(169); var _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper); var _reactPropTypesLibElementType = __webpack_require__(218); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); /** * Built on top of `` and ``, the overlay component is great for custom tooltip overlays. */ var Overlay = (function (_React$Component) { function Overlay(props, context) { _classCallCheck(this, Overlay); _React$Component.call(this, props, context); this.state = { exited: !props.show }; this.onHiddenListener = this.handleHidden.bind(this); } _inherits(Overlay, _React$Component); Overlay.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { if (nextProps.show) { this.setState({ exited: false }); } else if (!nextProps.transition) { // Otherwise let handleHidden take care of marking exited. this.setState({ exited: true }); } }; Overlay.prototype.render = function render() { var _props = this.props; var container = _props.container; var containerPadding = _props.containerPadding; var target = _props.target; var placement = _props.placement; var rootClose = _props.rootClose; var children = _props.children; var Transition = _props.transition; var props = _objectWithoutProperties(_props, ['container', 'containerPadding', 'target', 'placement', 'rootClose', 'children', 'transition']); // Don't un-render the overlay while it's transitioning out. var mountOverlay = props.show || Transition && !this.state.exited; if (!mountOverlay) { // Don't bother showing anything if we don't have to. return null; } var child = children; // Position is be inner-most because it adds inline styles into the child, // which the other wrappers don't forward correctly. child = _react2['default'].createElement( _Position2['default'], { container: container, containerPadding: containerPadding, target: target, placement: placement }, child ); if (Transition) { var onExit = props.onExit; var onExiting = props.onExiting; var onEnter = props.onEnter; var onEntering = props.onEntering; var onEntered = props.onEntered; // This animates the child node by injecting props, so it must precede // anything that adds a wrapping div. child = _react2['default'].createElement( Transition, { 'in': props.show, transitionAppear: true, onExit: onExit, onExiting: onExiting, onExited: this.onHiddenListener, onEnter: onEnter, onEntering: onEntering, onEntered: onEntered }, child ); } // This goes after everything else because it adds a wrapping div. if (rootClose) { child = _react2['default'].createElement( _RootCloseWrapper2['default'], { onRootClose: props.onHide }, child ); } return _react2['default'].createElement( _Portal2['default'], { container: container }, child ); }; Overlay.prototype.handleHidden = function handleHidden() { this.setState({ exited: true }); if (this.props.onExited) { var _props2; (_props2 = this.props).onExited.apply(_props2, arguments); } }; return Overlay; })(_react2['default'].Component); Overlay.propTypes = _extends({}, _Portal2['default'].propTypes, _Position2['default'].propTypes, { /** * Set the visibility of the Overlay */ show: _react2['default'].PropTypes.bool, /** * Specify whether the overlay should trigger onHide when the user clicks outside the overlay */ rootClose: _react2['default'].PropTypes.bool, /** * A Callback fired by the Overlay when it wishes to be hidden. */ onHide: _react2['default'].PropTypes.func, /** * A `` component used to animate the overlay changes visibility. */ transition: _reactPropTypesLibElementType2['default'], /** * Callback fired before the Overlay transitions in */ onEnter: _react2['default'].PropTypes.func, /** * Callback fired as the Overlay begins to transition in */ onEntering: _react2['default'].PropTypes.func, /** * Callback fired after the Overlay finishes transitioning in */ onEntered: _react2['default'].PropTypes.func, /** * Callback fired right before the Overlay transitions out */ onExit: _react2['default'].PropTypes.func, /** * Callback fired as the Overlay begins to transition out */ onExiting: _react2['default'].PropTypes.func, /** * Callback fired after the Overlay finishes transitioning out */ onExited: _react2['default'].PropTypes.func }); exports['default'] = Overlay; module.exports = exports['default']; /***/ }, /* 212 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _utilsOwnerDocument = __webpack_require__(173); var _utilsOwnerDocument2 = _interopRequireDefault(_utilsOwnerDocument); var _utilsGetContainer = __webpack_require__(198); var _utilsGetContainer2 = _interopRequireDefault(_utilsGetContainer); var _utilsOverlayPositionUtils = __webpack_require__(213); var _reactPropTypesLibMountable = __webpack_require__(196); var _reactPropTypesLibMountable2 = _interopRequireDefault(_reactPropTypesLibMountable); /** * The Position component calulates the corrdinates for its child, to * position it relative to a `target` component or node. Useful for creating callouts and tooltips, * the Position component injects a `style` props with `left` and `top` values for positioning your component. * * It also injects "arrow" `left`, and `top` values for styling callout arrows for giving your components * a sense of directionality. */ var Position = (function (_React$Component) { function Position(props, context) { _classCallCheck(this, Position); _React$Component.call(this, props, context); this.state = { positionLeft: null, positionTop: null, arrowOffsetLeft: null, arrowOffsetTop: null }; this._needsFlush = false; this._lastTarget = null; } _inherits(Position, _React$Component); Position.prototype.componentDidMount = function componentDidMount() { this.updatePosition(); }; Position.prototype.componentWillReceiveProps = function componentWillReceiveProps() { this._needsFlush = true; }; Position.prototype.componentDidUpdate = function componentDidUpdate(prevProps) { if (this._needsFlush) { this._needsFlush = false; this.updatePosition(prevProps.placement !== this.props.placement); } }; Position.prototype.componentWillUnmount = function componentWillUnmount() { // Probably not necessary, but just in case holding a reference to the // target causes problems somewhere. this._lastTarget = null; }; Position.prototype.render = function render() { var _props = this.props; var children = _props.children; var className = _props.className; var props = _objectWithoutProperties(_props, ['children', 'className']); var _state = this.state; var positionLeft = _state.positionLeft; var positionTop = _state.positionTop; var arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop']); var child = _react2['default'].Children.only(children); return _react.cloneElement(child, _extends({}, props, arrowPosition, { //do we need to also forward positionLeft and positionTop if they are set to style? positionLeft: positionLeft, positionTop: positionTop, className: _classnames2['default'](className, child.props.className), style: _extends({}, child.props.style, { left: positionLeft, top: positionTop }) })); }; Position.prototype.getTargetSafe = function getTargetSafe() { if (!this.props.target) { return null; } var target = this.props.target(this.props); if (!target) { // This is so we can just use === check below on all falsy targets. return null; } return target; }; Position.prototype.updatePosition = function updatePosition(placementChanged) { var target = this.getTargetSafe(); if (target === this._lastTarget && !placementChanged) { return; } this._lastTarget = target; if (!target) { this.setState({ positionLeft: null, positionTop: null, arrowOffsetLeft: null, arrowOffsetTop: null }); return; } var overlay = _reactDom2['default'].findDOMNode(this); var container = _utilsGetContainer2['default'](this.props.container, _utilsOwnerDocument2['default'](this).body); this.setState(_utilsOverlayPositionUtils.calcOverlayPosition(this.props.placement, overlay, target, container, this.props.containerPadding)); }; return Position; })(_react2['default'].Component); Position.propTypes = { /** * Function mapping props to a DOM node the component is positioned next to */ target: _react2['default'].PropTypes.func, /** * "offsetParent" of the component */ container: _reactPropTypesLibMountable2['default'], /** * Minimum spacing in pixels between container border and component border */ containerPadding: _react2['default'].PropTypes.number, /** * How to position the component relative to the target */ placement: _react2['default'].PropTypes.oneOf(['top', 'right', 'bottom', 'left']) }; Position.displayName = 'Position'; Position.defaultProps = { containerPadding: 0, placement: 'right' }; exports['default'] = Position; module.exports = exports['default']; /***/ }, /* 213 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _ownerDocument = __webpack_require__(173); var _ownerDocument2 = _interopRequireDefault(_ownerDocument); var _domHelpersQueryOffset = __webpack_require__(39); var _domHelpersQueryOffset2 = _interopRequireDefault(_domHelpersQueryOffset); var _domHelpersQueryPosition = __webpack_require__(214); var _domHelpersQueryPosition2 = _interopRequireDefault(_domHelpersQueryPosition); var _domHelpersQueryScrollTop = __webpack_require__(216); var _domHelpersQueryScrollTop2 = _interopRequireDefault(_domHelpersQueryScrollTop); var utils = { getContainerDimensions: function getContainerDimensions(containerNode) { var width = undefined, height = undefined, scroll = undefined; if (containerNode.tagName === 'BODY') { width = window.innerWidth; height = window.innerHeight; scroll = _domHelpersQueryScrollTop2['default'](_ownerDocument2['default'](containerNode).documentElement) || _domHelpersQueryScrollTop2['default'](containerNode); } else { var _getOffset = _domHelpersQueryOffset2['default'](containerNode); width = _getOffset.width; height = _getOffset.height; scroll = _domHelpersQueryScrollTop2['default'](containerNode); } return { width: width, height: height, scroll: scroll }; }, getPosition: function getPosition(target, container) { var offset = container.tagName === 'BODY' ? _domHelpersQueryOffset2['default'](target) : _domHelpersQueryPosition2['default'](target, container); return offset; }, calcOverlayPosition: function calcOverlayPosition(placement, overlayNode, target, container, padding) { var childOffset = utils.getPosition(target, container); var _getOffset2 = _domHelpersQueryOffset2['default'](overlayNode); var overlayHeight = _getOffset2.height; var overlayWidth = _getOffset2.width; var positionLeft = undefined, positionTop = undefined, arrowOffsetLeft = undefined, arrowOffsetTop = undefined; if (placement === 'left' || placement === 'right') { positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2; if (placement === 'left') { positionLeft = childOffset.left - overlayWidth; } else { positionLeft = childOffset.left + childOffset.width; } var topDelta = getTopDelta(positionTop, overlayHeight, container, padding); positionTop += topDelta; arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%'; arrowOffsetLeft = void 0; } else if (placement === 'top' || placement === 'bottom') { positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2; if (placement === 'top') { positionTop = childOffset.top - overlayHeight; } else { positionTop = childOffset.top + childOffset.height; } var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding); positionLeft += leftDelta; arrowOffsetLeft = 50 * (1 - 2 * leftDelta / overlayWidth) + '%'; arrowOffsetTop = void 0; } else { throw new Error('calcOverlayPosition(): No such placement of "' + placement + '" found.'); } return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop }; } }; function getTopDelta(top, overlayHeight, container, padding) { var containerDimensions = utils.getContainerDimensions(container); var containerScroll = containerDimensions.scroll; var containerHeight = containerDimensions.height; var topEdgeOffset = top - padding - containerScroll; var bottomEdgeOffset = top + padding - containerScroll + overlayHeight; if (topEdgeOffset < 0) { return -topEdgeOffset; } else if (bottomEdgeOffset > containerHeight) { return containerHeight - bottomEdgeOffset; } else { return 0; } } function getLeftDelta(left, overlayWidth, container, padding) { var containerDimensions = utils.getContainerDimensions(container); var containerWidth = containerDimensions.width; var leftEdgeOffset = left - padding; var rightEdgeOffset = left + padding + overlayWidth; if (leftEdgeOffset < 0) { return -leftEdgeOffset; } else if (rightEdgeOffset > containerWidth) { return containerWidth - rightEdgeOffset; } else { return 0; } } exports['default'] = utils; module.exports = exports['default']; /***/ }, /* 214 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var babelHelpers = __webpack_require__(38); exports.__esModule = true; exports['default'] = position; var _offset = __webpack_require__(39); var _offset2 = babelHelpers.interopRequireDefault(_offset); var _offsetParent = __webpack_require__(215); var _offsetParent2 = babelHelpers.interopRequireDefault(_offsetParent); var _scrollTop = __webpack_require__(216); var _scrollTop2 = babelHelpers.interopRequireDefault(_scrollTop); var _scrollLeft = __webpack_require__(217); var _scrollLeft2 = babelHelpers.interopRequireDefault(_scrollLeft); var _style = __webpack_require__(81); var _style2 = babelHelpers.interopRequireDefault(_style); function nodeName(node) { return node.nodeName && node.nodeName.toLowerCase(); } function position(node, offsetParent) { var parentOffset = { top: 0, left: 0 }, offset; // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, // because it is its only offset parent if ((0, _style2['default'])(node, 'position') === 'fixed') { offset = node.getBoundingClientRect(); } else { offsetParent = offsetParent || (0, _offsetParent2['default'])(node); offset = (0, _offset2['default'])(node); if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset2['default'])(offsetParent); parentOffset.top += parseInt((0, _style2['default'])(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop2['default'])(offsetParent) || 0; parentOffset.left += parseInt((0, _style2['default'])(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft2['default'])(offsetParent) || 0; } // Subtract parent offsets and node margins return babelHelpers._extends({}, offset, { top: offset.top - parentOffset.top - (parseInt((0, _style2['default'])(node, 'marginTop'), 10) || 0), left: offset.left - parentOffset.left - (parseInt((0, _style2['default'])(node, 'marginLeft'), 10) || 0) }); } module.exports = exports['default']; /***/ }, /* 215 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var babelHelpers = __webpack_require__(38); exports.__esModule = true; exports['default'] = offsetParent; var _ownerDocument = __webpack_require__(36); var _ownerDocument2 = babelHelpers.interopRequireDefault(_ownerDocument); var _style = __webpack_require__(81); var _style2 = babelHelpers.interopRequireDefault(_style); function nodeName(node) { return node.nodeName && node.nodeName.toLowerCase(); } function offsetParent(node) { var doc = (0, _ownerDocument2['default'])(node), offsetParent = node && node.offsetParent; while (offsetParent && nodeName(node) !== 'html' && (0, _style2['default'])(offsetParent, 'position') === 'static') { offsetParent = offsetParent.offsetParent; } return offsetParent || doc.documentElement; } module.exports = exports['default']; /***/ }, /* 216 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var getWindow = __webpack_require__(42); module.exports = function scrollTop(node, val) { var win = getWindow(node); if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop; if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val; }; /***/ }, /* 217 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var getWindow = __webpack_require__(42); module.exports = function scrollTop(node, val) { var win = getWindow(node); if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft; if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val; }; /***/ }, /* 218 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _common = __webpack_require__(197); /** * Checks whether a prop provides a type of element. * * The type of element can be provided in two forms: * - tag name (string) * - a return value of React.createClass(...) * * @param props * @param propName * @param componentName * @returns {Error|undefined} */ function validate(props, propName, componentName) { var errBeginning = _common.errMsg(props, propName, componentName, '. Expected an Element `type`'); if (typeof props[propName] !== 'function') { if (_react2['default'].isValidElement(props[propName])) { return new Error(errBeginning + ', not an actual Element'); } if (typeof props[propName] !== 'string') { return new Error(errBeginning + ' such as a tag name or return value of React.createClass(...)'); } } } exports['default'] = _common.createChainableTypeChecker(validate); module.exports = exports['default']; /***/ }, /* 219 */ /***/ function(module, exports, __webpack_require__) { /* eslint-disable react/prop-types */ 'use strict'; var _extends = __webpack_require__(9)['default']; var _Object$keys = __webpack_require__(75)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _domHelpersQueryContains = __webpack_require__(40); var _domHelpersQueryContains2 = _interopRequireDefault(_domHelpersQueryContains); var _lodashCompatObjectPick = __webpack_require__(220); var _lodashCompatObjectPick2 = _interopRequireDefault(_lodashCompatObjectPick); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _warning = __webpack_require__(48); var _warning2 = _interopRequireDefault(_warning); var _Overlay = __webpack_require__(210); var _Overlay2 = _interopRequireDefault(_Overlay); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); /** * Check if value one is inside or equal to the of value * * @param {string} one * @param {string|array} of * @returns {boolean} */ function isOneOf(one, of) { if (Array.isArray(of)) { return of.indexOf(one) >= 0; } return one === of; } var OverlayTrigger = _react2['default'].createClass({ displayName: 'OverlayTrigger', propTypes: _extends({}, _Overlay2['default'].propTypes, { /** * Specify which action or actions trigger Overlay visibility */ trigger: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.oneOf(['click', 'hover', 'focus']), _react2['default'].PropTypes.arrayOf(_react2['default'].PropTypes.oneOf(['click', 'hover', 'focus']))]), /** * A millisecond delay amount to show and hide the Overlay once triggered */ delay: _react2['default'].PropTypes.number, /** * A millisecond delay amount before showing the Overlay once triggered. */ delayShow: _react2['default'].PropTypes.number, /** * A millisecond delay amount before hiding the Overlay once triggered. */ delayHide: _react2['default'].PropTypes.number, /** * The initial visibility state of the Overlay, for more nuanced visibility controll consider * using the Overlay component directly. */ defaultOverlayShown: _react2['default'].PropTypes.bool, /** * An element or text to overlay next to the target. */ overlay: _react2['default'].PropTypes.node.isRequired, /** * @private */ onBlur: _react2['default'].PropTypes.func, /** * @private */ onClick: _react2['default'].PropTypes.func, /** * @private */ onFocus: _react2['default'].PropTypes.func, /** * @private */ onMouseEnter: _react2['default'].PropTypes.func, /** * @private */ onMouseLeave: _react2['default'].PropTypes.func, // override specific overlay props /** * @private */ target: function target() {}, /** * @private */ onHide: function onHide() {}, /** * @private */ show: function show() {} }), getDefaultProps: function getDefaultProps() { return { defaultOverlayShown: false, trigger: ['hover', 'focus'] }; }, getInitialState: function getInitialState() { return { isOverlayShown: this.props.defaultOverlayShown }; }, show: function show() { this.setState({ isOverlayShown: true }); }, hide: function hide() { this.setState({ isOverlayShown: false }); }, toggle: function toggle() { if (this.state.isOverlayShown) { this.hide(); } else { this.show(); } }, componentWillMount: function componentWillMount() { this.handleMouseOver = this.handleMouseOverOut.bind(null, this.handleDelayedShow); this.handleMouseOut = this.handleMouseOverOut.bind(null, this.handleDelayedHide); }, componentDidMount: function componentDidMount() { this._mountNode = document.createElement('div'); this.renderOverlay(); }, renderOverlay: function renderOverlay() { _reactDom2['default'].unstable_renderSubtreeIntoContainer(this, this._overlay, this._mountNode); }, componentWillUnmount: function componentWillUnmount() { _reactDom2['default'].unmountComponentAtNode(this._mountNode); this._mountNode = null; clearTimeout(this._hoverDelay); }, componentDidUpdate: function componentDidUpdate() { if (this._mountNode) { this.renderOverlay(); } }, getOverlayTarget: function getOverlayTarget() { return _reactDom2['default'].findDOMNode(this); }, getOverlay: function getOverlay() { var overlayProps = _extends({}, _lodashCompatObjectPick2['default'](this.props, _Object$keys(_Overlay2['default'].propTypes)), { show: this.state.isOverlayShown, onHide: this.hide, target: this.getOverlayTarget, onExit: this.props.onExit, onExiting: this.props.onExiting, onExited: this.props.onExited, onEnter: this.props.onEnter, onEntering: this.props.onEntering, onEntered: this.props.onEntered }); var overlay = _react.cloneElement(this.props.overlay, { placement: overlayProps.placement, container: overlayProps.container }); return _react2['default'].createElement( _Overlay2['default'], overlayProps, overlay ); }, render: function render() { var trigger = _react2['default'].Children.only(this.props.children); var triggerProps = trigger.props; var props = { 'aria-describedby': this.props.overlay.props.id }; // create in render otherwise owner is lost... this._overlay = this.getOverlay(); props.onClick = _utilsCreateChainedFunction2['default'](triggerProps.onClick, this.props.onClick); if (isOneOf('click', this.props.trigger)) { props.onClick = _utilsCreateChainedFunction2['default'](this.toggle, props.onClick); } if (isOneOf('hover', this.props.trigger)) { _warning2['default'](!(this.props.trigger === 'hover'), '[react-bootstrap] Specifying only the `"hover"` trigger limits the visibilty of the overlay to just mouse users. ' + 'Consider also including the `"focus"` trigger so that touch and keyboard only users can see the overlay as well.'); props.onMouseOver = _utilsCreateChainedFunction2['default'](this.handleMouseOver, this.props.onMouseOver, triggerProps.onMouseOver); props.onMouseOut = _utilsCreateChainedFunction2['default'](this.handleMouseOut, this.props.onMouseOut, triggerProps.onMouseOut); } if (isOneOf('focus', this.props.trigger)) { props.onFocus = _utilsCreateChainedFunction2['default'](this.handleDelayedShow, this.props.onFocus, triggerProps.onFocus); props.onBlur = _utilsCreateChainedFunction2['default'](this.handleDelayedHide, this.props.onBlur, triggerProps.onBlur); } return _react.cloneElement(trigger, props); }, handleDelayedShow: function handleDelayedShow() { var _this = this; if (this._hoverDelay != null) { clearTimeout(this._hoverDelay); this._hoverDelay = null; return; } var delay = this.props.delayShow != null ? this.props.delayShow : this.props.delay; if (!delay) { this.show(); return; } this._hoverDelay = setTimeout(function () { _this._hoverDelay = null; _this.show(); }, delay); }, handleDelayedHide: function handleDelayedHide() { var _this2 = this; if (this._hoverDelay != null) { clearTimeout(this._hoverDelay); this._hoverDelay = null; return; } var delay = this.props.delayHide != null ? this.props.delayHide : this.props.delay; if (!delay) { this.hide(); return; } this._hoverDelay = setTimeout(function () { _this2._hoverDelay = null; _this2.hide(); }, delay); }, // Simple implementation of mouseEnter and mouseLeave. // React's built version is broken: https://github.com/facebook/react/issues/4251 // for cases when the trigger is disabled and mouseOut/Over can cause flicker moving // from one child element to another. handleMouseOverOut: function handleMouseOverOut(handler, e) { var target = e.currentTarget; var related = e.relatedTarget || e.nativeEvent.toElement; if (!related || related !== target && !_domHelpersQueryContains2['default'](target, related)) { handler(e); } } }); exports['default'] = OverlayTrigger; module.exports = exports['default']; /***/ }, /* 220 */ /***/ function(module, exports, __webpack_require__) { var baseFlatten = __webpack_require__(157), bindCallback = __webpack_require__(142), pickByArray = __webpack_require__(159), pickByCallback = __webpack_require__(160), restParam = __webpack_require__(162); /** * Creates an object composed of the picked `object` properties. Property * names may be specified as individual arguments or as arrays of property * names. If `predicate` is provided it's invoked for each property of `object` * picking the properties `predicate` returns truthy for. The predicate is * bound to `thisArg` and invoked with three arguments: (value, key, object). * * @static * @memberOf _ * @category Object * @param {Object} object The source object. * @param {Function|...(string|string[])} [predicate] The function invoked per * iteration or property names to pick, specified as individual property * names or arrays of property names. * @param {*} [thisArg] The `this` binding of `predicate`. * @returns {Object} Returns the new object. * @example * * var object = { 'user': 'fred', 'age': 40 }; * * _.pick(object, 'user'); * // => { 'user': 'fred' } * * _.pick(object, _.isString); * // => { 'user': 'fred' } */ var pick = restParam(function(object, props) { if (object == null) { return {}; } return typeof props[0] == 'function' ? pickByCallback(object, bindCallback(props[0], props[1], 3)) : pickByArray(object, baseFlatten(props)); }); module.exports = pick; /***/ }, /* 221 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var PageHeader = _react2['default'].createClass({ displayName: 'PageHeader', render: function render() { return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'page-header') }), _react2['default'].createElement( 'h1', null, this.props.children ) ); } }); exports['default'] = PageHeader; module.exports = exports['default']; /***/ }, /* 222 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _SafeAnchor = __webpack_require__(49); var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); var PageItem = _react2['default'].createClass({ displayName: 'PageItem', propTypes: { href: _react2['default'].PropTypes.string, target: _react2['default'].PropTypes.string, title: _react2['default'].PropTypes.string, disabled: _react2['default'].PropTypes.bool, previous: _react2['default'].PropTypes.bool, next: _react2['default'].PropTypes.bool, onSelect: _react2['default'].PropTypes.func, eventKey: _react2['default'].PropTypes.any }, getDefaultProps: function getDefaultProps() { return { disabled: false, previous: false, next: false }; }, render: function render() { var classes = { 'disabled': this.props.disabled, 'previous': this.props.previous, 'next': this.props.next }; return _react2['default'].createElement( 'li', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), _react2['default'].createElement( _SafeAnchor2['default'], { href: this.props.href, title: this.props.title, target: this.props.target, onClick: this.handleSelect }, this.props.children ) ); }, handleSelect: function handleSelect(e) { if (this.props.onSelect || this.props.disabled) { e.preventDefault(); if (!this.props.disabled) { this.props.onSelect(this.props.eventKey, this.props.href, this.props.target); } } } }); exports['default'] = PageItem; module.exports = exports['default']; /***/ }, /* 223 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var Pager = _react2['default'].createClass({ displayName: 'Pager', propTypes: { onSelect: _react2['default'].PropTypes.func }, render: function render() { return _react2['default'].createElement( 'ul', _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'pager') }), _utilsValidComponentChildren2['default'].map(this.props.children, this.renderPageItem) ); }, renderPageItem: function renderPageItem(child, index) { return _react.cloneElement(child, { onSelect: _utilsCreateChainedFunction2['default'](child.props.onSelect, this.props.onSelect), key: child.key ? child.key : index }); } }); exports['default'] = Pager; module.exports = exports['default']; /***/ }, /* 224 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _PaginationButton = __webpack_require__(225); var _PaginationButton2 = _interopRequireDefault(_PaginationButton); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var _SafeAnchor = __webpack_require__(49); var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); var Pagination = _react2['default'].createClass({ displayName: 'Pagination', mixins: [_BootstrapMixin2['default']], propTypes: { activePage: _react2['default'].PropTypes.number, items: _react2['default'].PropTypes.number, maxButtons: _react2['default'].PropTypes.number, ellipsis: _react2['default'].PropTypes.bool, first: _react2['default'].PropTypes.bool, last: _react2['default'].PropTypes.bool, prev: _react2['default'].PropTypes.bool, next: _react2['default'].PropTypes.bool, onSelect: _react2['default'].PropTypes.func, /** * You can use a custom element for the buttons */ buttonComponentClass: _reactPropTypesLibElementType2['default'] }, getDefaultProps: function getDefaultProps() { return { activePage: 1, items: 1, maxButtons: 0, first: false, last: false, prev: false, next: false, ellipsis: true, buttonComponentClass: _SafeAnchor2['default'], bsClass: 'pagination' }; }, renderPageButtons: function renderPageButtons() { var pageButtons = []; var startPage = undefined, endPage = undefined, hasHiddenPagesAfter = undefined; var _props = this.props; var maxButtons = _props.maxButtons; var activePage = _props.activePage; var items = _props.items; var onSelect = _props.onSelect; var ellipsis = _props.ellipsis; var buttonComponentClass = _props.buttonComponentClass; if (maxButtons) { var hiddenPagesBefore = activePage - parseInt(maxButtons / 2, 10); startPage = hiddenPagesBefore > 1 ? hiddenPagesBefore : 1; hasHiddenPagesAfter = startPage + maxButtons <= items; if (!hasHiddenPagesAfter) { endPage = items; startPage = items - maxButtons + 1; if (startPage < 1) { startPage = 1; } } else { endPage = startPage + maxButtons - 1; } } else { startPage = 1; endPage = items; } for (var pagenumber = startPage; pagenumber <= endPage; pagenumber++) { pageButtons.push(_react2['default'].createElement( _PaginationButton2['default'], { key: pagenumber, eventKey: pagenumber, active: pagenumber === activePage, onSelect: onSelect, buttonComponentClass: buttonComponentClass }, pagenumber )); } if (maxButtons && hasHiddenPagesAfter && ellipsis) { pageButtons.push(_react2['default'].createElement( _PaginationButton2['default'], { key: 'ellipsis', disabled: true, buttonComponentClass: buttonComponentClass }, _react2['default'].createElement( 'span', { 'aria-label': 'More' }, '...' ) )); } return pageButtons; }, renderPrev: function renderPrev() { if (!this.props.prev) { return null; } return _react2['default'].createElement( _PaginationButton2['default'], { key: 'prev', eventKey: this.props.activePage - 1, disabled: this.props.activePage === 1, onSelect: this.props.onSelect, buttonComponentClass: this.props.buttonComponentClass }, _react2['default'].createElement( 'span', { 'aria-label': 'Previous' }, '‹' ) ); }, renderNext: function renderNext() { if (!this.props.next) { return null; } return _react2['default'].createElement( _PaginationButton2['default'], { key: 'next', eventKey: this.props.activePage + 1, disabled: this.props.activePage >= this.props.items, onSelect: this.props.onSelect, buttonComponentClass: this.props.buttonComponentClass }, _react2['default'].createElement( 'span', { 'aria-label': 'Next' }, '›' ) ); }, renderFirst: function renderFirst() { if (!this.props.first) { return null; } return _react2['default'].createElement( _PaginationButton2['default'], { key: 'first', eventKey: 1, disabled: this.props.activePage === 1, onSelect: this.props.onSelect, buttonComponentClass: this.props.buttonComponentClass }, _react2['default'].createElement( 'span', { 'aria-label': 'First' }, '«' ) ); }, renderLast: function renderLast() { if (!this.props.last) { return null; } return _react2['default'].createElement( _PaginationButton2['default'], { key: 'last', eventKey: this.props.items, disabled: this.props.activePage >= this.props.items, onSelect: this.props.onSelect, buttonComponentClass: this.props.buttonComponentClass }, _react2['default'].createElement( 'span', { 'aria-label': 'Last' }, '»' ) ); }, render: function render() { return _react2['default'].createElement( 'ul', _extends({}, this.props, { className: _classnames2['default'](this.props.className, this.getBsClassSet()) }), this.renderFirst(), this.renderPrev(), this.renderPageButtons(), this.renderNext(), this.renderLast() ); } }); exports['default'] = Pagination; module.exports = exports['default']; /***/ }, /* 225 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _utilsCreateSelectedEvent = __webpack_require__(226); var _utilsCreateSelectedEvent2 = _interopRequireDefault(_utilsCreateSelectedEvent); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var PaginationButton = _react2['default'].createClass({ displayName: 'PaginationButton', mixins: [_BootstrapMixin2['default']], propTypes: { className: _react2['default'].PropTypes.string, eventKey: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]), onSelect: _react2['default'].PropTypes.func, disabled: _react2['default'].PropTypes.bool, active: _react2['default'].PropTypes.bool, /** * You can use a custom element for this component */ buttonComponentClass: _reactPropTypesLibElementType2['default'] }, getDefaultProps: function getDefaultProps() { return { active: false, disabled: false }; }, handleClick: function handleClick(event) { if (this.props.disabled) { return; } if (this.props.onSelect) { var selectedEvent = _utilsCreateSelectedEvent2['default'](this.props.eventKey); this.props.onSelect(event, selectedEvent); } }, render: function render() { var classes = _extends({ active: this.props.active, disabled: this.props.disabled }, this.getBsClassSet()); var _props = this.props; var className = _props.className; var anchorProps = _objectWithoutProperties(_props, ['className']); var ButtonComponentClass = this.props.buttonComponentClass; return _react2['default'].createElement( 'li', { className: _classnames2['default'](className, classes) }, _react2['default'].createElement(ButtonComponentClass, _extends({}, anchorProps, { onClick: this.handleClick })) ); } }); exports['default'] = PaginationButton; module.exports = exports['default']; /***/ }, /* 226 */ /***/ function(module, exports) { "use strict"; exports.__esModule = true; exports["default"] = createSelectedEvent; function createSelectedEvent(eventKey) { var selectionPrevented = false; return { eventKey: eventKey, preventSelection: function preventSelection() { selectionPrevented = true; }, isSelectionPrevented: function isSelectionPrevented() { return selectionPrevented; } }; } module.exports = exports["default"]; /***/ }, /* 227 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _objectWithoutProperties = __webpack_require__(26)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _Collapse = __webpack_require__(80); var _Collapse2 = _interopRequireDefault(_Collapse); var Panel = _react2['default'].createClass({ displayName: 'Panel', mixins: [_BootstrapMixin2['default']], propTypes: { collapsible: _react2['default'].PropTypes.bool, onSelect: _react2['default'].PropTypes.func, header: _react2['default'].PropTypes.node, id: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]), footer: _react2['default'].PropTypes.node, defaultExpanded: _react2['default'].PropTypes.bool, expanded: _react2['default'].PropTypes.bool, eventKey: _react2['default'].PropTypes.any, headerRole: _react2['default'].PropTypes.string, panelRole: _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { bsClass: 'panel', bsStyle: 'default', defaultExpanded: false }; }, getInitialState: function getInitialState() { return { expanded: this.props.defaultExpanded }; }, handleSelect: function handleSelect(e) { e.selected = true; if (this.props.onSelect) { this.props.onSelect(e, this.props.eventKey); } else { e.preventDefault(); } if (e.selected) { this.handleToggle(); } }, handleToggle: function handleToggle() { this.setState({ expanded: !this.state.expanded }); }, isExpanded: function isExpanded() { return this.props.expanded != null ? this.props.expanded : this.state.expanded; }, render: function render() { var _props = this.props; var headerRole = _props.headerRole; var panelRole = _props.panelRole; var props = _objectWithoutProperties(_props, ['headerRole', 'panelRole']); return _react2['default'].createElement( 'div', _extends({}, props, { className: _classnames2['default'](this.props.className, this.getBsClassSet()), id: this.props.collapsible ? null : this.props.id, onSelect: null }), this.renderHeading(headerRole), this.props.collapsible ? this.renderCollapsibleBody(panelRole) : this.renderBody(), this.renderFooter() ); }, renderCollapsibleBody: function renderCollapsibleBody(panelRole) { var props = { className: this.prefixClass('collapse'), id: this.props.id, ref: 'panel', 'aria-hidden': !this.isExpanded() }; if (panelRole) { props.role = panelRole; } return _react2['default'].createElement( _Collapse2['default'], { 'in': this.isExpanded() }, _react2['default'].createElement( 'div', props, this.renderBody() ) ); }, renderBody: function renderBody() { var _this = this; var allChildren = this.props.children; var bodyElements = []; var panelBodyChildren = []; var bodyClass = this.prefixClass('body'); function getProps() { return { key: bodyElements.length }; } function addPanelChild(child) { bodyElements.push(_react.cloneElement(child, getProps())); } function addPanelBody(children) { bodyElements.push(_react2['default'].createElement( 'div', _extends({ className: bodyClass }, getProps()), children )); } function maybeRenderPanelBody() { if (panelBodyChildren.length === 0) { return; } addPanelBody(panelBodyChildren); panelBodyChildren = []; } // Handle edge cases where we should not iterate through children. if (!Array.isArray(allChildren) || allChildren.length === 0) { if (this.shouldRenderFill(allChildren)) { addPanelChild(allChildren); } else { addPanelBody(allChildren); } } else { allChildren.forEach(function (child) { if (_this.shouldRenderFill(child)) { maybeRenderPanelBody(); // Separately add the filled element. addPanelChild(child); } else { panelBodyChildren.push(child); } }); maybeRenderPanelBody(); } return bodyElements; }, shouldRenderFill: function shouldRenderFill(child) { return _react2['default'].isValidElement(child) && child.props.fill != null; }, renderHeading: function renderHeading(headerRole) { var header = this.props.header; if (!header) { return null; } if (!_react2['default'].isValidElement(header) || Array.isArray(header)) { header = this.props.collapsible ? this.renderCollapsibleTitle(header, headerRole) : header; } else { var className = _classnames2['default'](this.prefixClass('title'), header.props.className); if (this.props.collapsible) { header = _react.cloneElement(header, { className: className, children: this.renderAnchor(header.props.children, headerRole) }); } else { header = _react.cloneElement(header, { className: className }); } } return _react2['default'].createElement( 'div', { className: this.prefixClass('heading') }, header ); }, renderAnchor: function renderAnchor(header, headerRole) { return _react2['default'].createElement( 'a', { href: '#' + (this.props.id || ''), 'aria-controls': this.props.collapsible ? this.props.id : null, className: this.isExpanded() ? null : 'collapsed', 'aria-expanded': this.isExpanded(), 'aria-selected': this.isExpanded(), onClick: this.handleSelect, role: headerRole }, header ); }, renderCollapsibleTitle: function renderCollapsibleTitle(header, headerRole) { return _react2['default'].createElement( 'h4', { className: this.prefixClass('title'), role: 'presentation' }, this.renderAnchor(header, headerRole) ); }, renderFooter: function renderFooter() { if (!this.props.footer) { return null; } return _react2['default'].createElement( 'div', { className: this.prefixClass('footer') }, this.props.footer ); } }); exports['default'] = Panel; module.exports = exports['default']; /***/ }, /* 228 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _reactPropTypesLibIsRequiredForA11y = __webpack_require__(163); var _reactPropTypesLibIsRequiredForA11y2 = _interopRequireDefault(_reactPropTypesLibIsRequiredForA11y); var Popover = _react2['default'].createClass({ displayName: 'Popover', mixins: [_BootstrapMixin2['default']], propTypes: { /** * An html id attribute, necessary for accessibility * @type {string} * @required */ id: _reactPropTypesLibIsRequiredForA11y2['default'](_react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number])), /** * Sets the direction the Popover is positioned towards. */ placement: _react2['default'].PropTypes.oneOf(['top', 'right', 'bottom', 'left']), /** * The "left" position value for the Popover. */ positionLeft: _react2['default'].PropTypes.number, /** * The "top" position value for the Popover. */ positionTop: _react2['default'].PropTypes.number, /** * The "left" position value for the Popover arrow. */ arrowOffsetLeft: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.number, _react2['default'].PropTypes.string]), /** * The "top" position value for the Popover arrow. */ arrowOffsetTop: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.number, _react2['default'].PropTypes.string]), /** * Title text */ title: _react2['default'].PropTypes.node }, getDefaultProps: function getDefaultProps() { return { placement: 'right' }; }, render: function render() { var _classes; var classes = (_classes = { 'popover': true }, _classes[this.props.placement] = true, _classes); var style = _extends({ 'left': this.props.positionLeft, 'top': this.props.positionTop, 'display': 'block' }, this.props.style); // eslint-disable-line react/prop-types var arrowStyle = { 'left': this.props.arrowOffsetLeft, 'top': this.props.arrowOffsetTop }; return _react2['default'].createElement( 'div', _extends({ role: 'tooltip' }, this.props, { className: _classnames2['default'](this.props.className, classes), style: style, title: null }), _react2['default'].createElement('div', { className: 'arrow', style: arrowStyle }), this.props.title ? this.renderTitle() : null, _react2['default'].createElement( 'div', { className: 'popover-content' }, this.props.children ) ); }, renderTitle: function renderTitle() { return _react2['default'].createElement( 'h3', { className: 'popover-title' }, this.props.title ); } }); exports['default'] = Popover; module.exports = exports['default']; // we don't want to expose the `style` property /***/ }, /* 229 */ /***/ function(module, exports, __webpack_require__) { /* eslint react/prop-types: [2, {ignore: "bsStyle"}] */ /* BootstrapMixin contains `bsStyle` type validation */ 'use strict'; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _Interpolate = __webpack_require__(184); var _Interpolate2 = _interopRequireDefault(_Interpolate); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var ProgressBar = _react2['default'].createClass({ displayName: 'ProgressBar', propTypes: { min: _react.PropTypes.number, now: _react.PropTypes.number, max: _react.PropTypes.number, label: _react.PropTypes.node, srOnly: _react.PropTypes.bool, striped: _react.PropTypes.bool, active: _react.PropTypes.bool, children: onlyProgressBar, // eslint-disable-line no-use-before-define className: _react2['default'].PropTypes.string, interpolateClass: _react.PropTypes.node, /** * @private */ isChild: _react.PropTypes.bool }, mixins: [_BootstrapMixin2['default']], getDefaultProps: function getDefaultProps() { return { bsClass: 'progress-bar', min: 0, max: 100, active: false, isChild: false, srOnly: false, striped: false }; }, getPercentage: function getPercentage(now, min, max) { var roundPrecision = 1000; return Math.round((now - min) / (max - min) * 100 * roundPrecision) / roundPrecision; }, render: function render() { if (this.props.isChild) { return this.renderProgressBar(); } var content = undefined; if (this.props.children) { content = _utilsValidComponentChildren2['default'].map(this.props.children, this.renderChildBar); } else { content = this.renderProgressBar(); } return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'progress'), min: null, max: null, label: null, 'aria-valuetext': null }), content ); }, renderChildBar: function renderChildBar(child, index) { return _react.cloneElement(child, { isChild: true, key: child.key ? child.key : index }); }, renderProgressBar: function renderProgressBar() { var _props = this.props; var className = _props.className; var label = _props.label; var now = _props.now; var min = _props.min; var max = _props.max; var props = _objectWithoutProperties(_props, ['className', 'label', 'now', 'min', 'max']); var percentage = this.getPercentage(now, min, max); if (typeof label === 'string') { label = this.renderLabel(percentage); } if (this.props.srOnly) { label = _react2['default'].createElement( 'span', { className: 'sr-only' }, label ); } var classes = _classnames2['default'](className, this.getBsClassSet(), { active: this.props.active, 'progress-bar-striped': this.props.active || this.props.striped }); return _react2['default'].createElement( 'div', _extends({}, props, { className: classes, role: 'progressbar', style: { width: percentage + '%' }, 'aria-valuenow': this.props.now, 'aria-valuemin': this.props.min, 'aria-valuemax': this.props.max }), label ); }, renderLabel: function renderLabel(percentage) { var InterpolateClass = this.props.interpolateClass || _Interpolate2['default']; return _react2['default'].createElement( InterpolateClass, { now: this.props.now, min: this.props.min, max: this.props.max, percent: percentage, bsStyle: this.props.bsStyle }, this.props.label ); } }); /** * Custom propTypes checker */ function onlyProgressBar(props, propName, componentName) { if (props[propName]) { var _ret = (function () { var error = undefined, childIdentifier = undefined; _react2['default'].Children.forEach(props[propName], function (child) { if (child.type !== ProgressBar) { childIdentifier = child.type.displayName ? child.type.displayName : child.type; error = new Error('Children of ' + componentName + ' can contain only ProgressBar components. Found ' + childIdentifier); } }); return { v: error }; })(); if (typeof _ret === 'object') return _ret.v; } } exports['default'] = ProgressBar; module.exports = exports['default']; /***/ }, /* 230 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _warning = __webpack_require__(48); var _warning2 = _interopRequireDefault(_warning); var ResponsiveEmbed = (function (_React$Component) { _inherits(ResponsiveEmbed, _React$Component); function ResponsiveEmbed() { _classCallCheck(this, ResponsiveEmbed); _React$Component.apply(this, arguments); } ResponsiveEmbed.prototype.render = function render() { var _props = this.props; var bsClass = _props.bsClass; var className = _props.className; var a16by9 = _props.a16by9; var a4by3 = _props.a4by3; var props = _objectWithoutProperties(_props, ['bsClass', 'className', 'a16by9', 'a4by3']); _warning2['default'](!(!a16by9 && !a4by3), '`a16by9` or `a4by3` attribute must be set.'); _warning2['default'](!(a16by9 && a4by3), 'Either `a16by9` or `a4by3` attribute can be set. Not both.'); var aspectRatio = { 'embed-responsive-16by9': a16by9, 'embed-responsive-4by3': a4by3 }; return _react2['default'].createElement( 'div', { className: _classnames2['default'](bsClass, aspectRatio) }, _react.cloneElement(this.props.children, _extends({}, props, { className: _classnames2['default'](className, 'embed-responsive-item') })) ); }; return ResponsiveEmbed; })(_react2['default'].Component); ResponsiveEmbed.defaultProps = { bsClass: 'embed-responsive', a16by9: false, a4by3: false }; ResponsiveEmbed.propTypes = { /** * bootstrap className * @private */ bsClass: _react.PropTypes.string, /** * This component accepts only one child element */ children: _react.PropTypes.element.isRequired, /** * 16by9 aspect ratio */ a16by9: _react.PropTypes.bool, /** * 4by3 aspect ratio */ a4by3: _react.PropTypes.bool }; exports['default'] = ResponsiveEmbed; module.exports = exports['default']; /***/ }, /* 231 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _reactPropTypesLibElementType = __webpack_require__(63); var _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType); var Row = _react2['default'].createClass({ displayName: 'Row', propTypes: { /** * You can use a custom element for this component */ componentClass: _reactPropTypesLibElementType2['default'] }, getDefaultProps: function getDefaultProps() { return { componentClass: 'div' }; }, render: function render() { var ComponentClass = this.props.componentClass; return _react2['default'].createElement( ComponentClass, _extends({}, this.props, { className: _classnames2['default'](this.props.className, 'row') }), this.props.children ); } }); exports['default'] = Row; module.exports = exports['default']; /***/ }, /* 232 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _Button = __webpack_require__(62); var _Button2 = _interopRequireDefault(_Button); var _Dropdown = __webpack_require__(92); var _Dropdown2 = _interopRequireDefault(_Dropdown); var _SplitToggle = __webpack_require__(233); var _SplitToggle2 = _interopRequireDefault(_SplitToggle); var SplitButton = (function (_React$Component) { _inherits(SplitButton, _React$Component); function SplitButton() { _classCallCheck(this, SplitButton); _React$Component.apply(this, arguments); } SplitButton.prototype.render = function render() { var _props = this.props; var children = _props.children; var title = _props.title; var onClick = _props.onClick; var target = _props.target; var href = _props.href; var // bsStyle is validated by 'Button' component bsStyle = _props.bsStyle; var props = _objectWithoutProperties(_props, ['children', 'title', 'onClick', 'target', 'href', 'bsStyle']); var disabled = props.disabled; var button = _react2['default'].createElement( _Button2['default'], { onClick: onClick, bsStyle: bsStyle, disabled: disabled, target: target, href: href }, title ); return _react2['default'].createElement( _Dropdown2['default'], props, button, _react2['default'].createElement(_SplitToggle2['default'], { 'aria-label': title, bsStyle: bsStyle, disabled: disabled }), _react2['default'].createElement( _Dropdown2['default'].Menu, null, children ) ); }; return SplitButton; })(_react2['default'].Component); SplitButton.propTypes = _extends({}, _Dropdown2['default'].propTypes, _BootstrapMixin2['default'].propTypes, { /** * @private */ onClick: function onClick() {}, target: _react2['default'].PropTypes.string, href: _react2['default'].PropTypes.string, /** * The content of the split button. */ title: _react2['default'].PropTypes.node.isRequired }); SplitButton.defaultProps = { disabled: false, dropup: false, pullRight: false }; SplitButton.Toggle = _SplitToggle2['default']; exports['default'] = SplitButton; module.exports = exports['default']; // eslint-disable-line /***/ }, /* 233 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _DropdownToggle = __webpack_require__(174); var _DropdownToggle2 = _interopRequireDefault(_DropdownToggle); var SplitToggle = (function (_React$Component) { _inherits(SplitToggle, _React$Component); function SplitToggle() { _classCallCheck(this, SplitToggle); _React$Component.apply(this, arguments); } SplitToggle.prototype.render = function render() { return _react2['default'].createElement(_DropdownToggle2['default'], _extends({}, this.props, { useAnchor: false, noCaret: false })); }; return SplitToggle; })(_react2['default'].Component); exports['default'] = SplitToggle; SplitToggle.defaultProps = _DropdownToggle2['default'].defaultProps; module.exports = exports['default']; /***/ }, /* 234 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _SafeAnchor = __webpack_require__(49); var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); var SubNav = _react2['default'].createClass({ displayName: 'SubNav', mixins: [_BootstrapMixin2['default']], propTypes: { onSelect: _react2['default'].PropTypes.func, active: _react2['default'].PropTypes.bool, activeHref: _react2['default'].PropTypes.string, activeKey: _react2['default'].PropTypes.any, disabled: _react2['default'].PropTypes.bool, eventKey: _react2['default'].PropTypes.any, href: _react2['default'].PropTypes.string, title: _react2['default'].PropTypes.string, text: _react2['default'].PropTypes.node, target: _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { bsClass: 'nav', active: false, disabled: false }; }, handleClick: function handleClick(e) { if (this.props.onSelect) { e.preventDefault(); if (!this.props.disabled) { this.props.onSelect(this.props.eventKey, this.props.href, this.props.target); } } }, isActive: function isActive() { return this.isChildActive(this); }, isChildActive: function isChildActive(child) { var _this = this; if (child.props.active) { return true; } if (this.props.activeKey != null && this.props.activeKey === child.props.eventKey) { return true; } if (this.props.activeHref != null && this.props.activeHref === child.props.href) { return true; } if (child.props.children) { var isActive = false; _utilsValidComponentChildren2['default'].forEach(child.props.children, function (grandchild) { if (_this.isChildActive(grandchild)) { isActive = true; } }, this); return isActive; } return false; }, getChildActiveProp: function getChildActiveProp(child) { if (child.props.active) { return true; } if (this.props.activeKey != null) { if (child.props.eventKey === this.props.activeKey) { return true; } } if (this.props.activeHref != null) { if (child.props.href === this.props.activeHref) { return true; } } return child.props.active; }, render: function render() { var classes = { 'active': this.isActive(), 'disabled': this.props.disabled }; return _react2['default'].createElement( 'li', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), _react2['default'].createElement( _SafeAnchor2['default'], { href: this.props.href, title: this.props.title, target: this.props.target, onClick: this.handleClick }, this.props.text ), _react2['default'].createElement( 'ul', { className: 'nav' }, _utilsValidComponentChildren2['default'].map(this.props.children, this.renderNavItem) ) ); }, renderNavItem: function renderNavItem(child, index) { return _react.cloneElement(child, { active: this.getChildActiveProp(child), onSelect: _utilsCreateChainedFunction2['default'](child.props.onSelect, this.props.onSelect), key: child.key ? child.key : index }); } }); exports['default'] = SubNav; module.exports = exports['default']; /***/ }, /* 235 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _utilsTransitionEvents = __webpack_require__(73); var _utilsTransitionEvents2 = _interopRequireDefault(_utilsTransitionEvents); var Tab = _react2['default'].createClass({ displayName: 'Tab', propTypes: { /** * @private */ active: _react2['default'].PropTypes.bool, animation: _react2['default'].PropTypes.bool, /** * It is used by 'Tabs' - parent component * @private */ onAnimateOutEnd: _react2['default'].PropTypes.func, disabled: _react2['default'].PropTypes.bool, title: _react2['default'].PropTypes.node, /** * tabClassName is used as className for the associated NavItem */ tabClassName: _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { animation: true }; }, getInitialState: function getInitialState() { return { animateIn: false, animateOut: false }; }, componentWillReceiveProps: function componentWillReceiveProps(nextProps) { if (this.props.animation) { if (!this.state.animateIn && nextProps.active && !this.props.active) { this.setState({ animateIn: true }); } else if (!this.state.animateOut && !nextProps.active && this.props.active) { this.setState({ animateOut: true }); } } }, componentDidUpdate: function componentDidUpdate() { if (this.state.animateIn) { setTimeout(this.startAnimateIn, 0); } if (this.state.animateOut) { _utilsTransitionEvents2['default'].addEndEventListener(_reactDom2['default'].findDOMNode(this), this.stopAnimateOut); } }, startAnimateIn: function startAnimateIn() { if (this.isMounted()) { this.setState({ animateIn: false }); } }, stopAnimateOut: function stopAnimateOut() { if (this.isMounted()) { this.setState({ animateOut: false }); if (this.props.onAnimateOutEnd) { this.props.onAnimateOutEnd(); } } }, render: function render() { var classes = { 'tab-pane': true, 'fade': true, 'active': this.props.active || this.state.animateOut, 'in': this.props.active && !this.state.animateIn }; return _react2['default'].createElement( 'div', _extends({}, this.props, { title: undefined, role: 'tabpanel', 'aria-hidden': !this.props.active, className: _classnames2['default'](this.props.className, classes) }), this.props.children ); } }); exports['default'] = Tab; module.exports = exports['default']; /***/ }, /* 236 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var Table = _react2['default'].createClass({ displayName: 'Table', propTypes: { striped: _react2['default'].PropTypes.bool, bordered: _react2['default'].PropTypes.bool, condensed: _react2['default'].PropTypes.bool, hover: _react2['default'].PropTypes.bool, responsive: _react2['default'].PropTypes.bool }, getDefaultProps: function getDefaultProps() { return { bordered: false, condensed: false, hover: false, responsive: false, striped: false }; }, render: function render() { var classes = { 'table': true, 'table-striped': this.props.striped, 'table-bordered': this.props.bordered, 'table-condensed': this.props.condensed, 'table-hover': this.props.hover }; var table = _react2['default'].createElement( 'table', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.children ); return this.props.responsive ? _react2['default'].createElement( 'div', { className: 'table-responsive' }, table ) : table; } }); exports['default'] = Table; module.exports = exports['default']; /***/ }, /* 237 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _Object$keys = __webpack_require__(75)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(34); var _reactDom2 = _interopRequireDefault(_reactDom); var _Col = __webpack_require__(74); var _Col2 = _interopRequireDefault(_Col); var _Nav = __webpack_require__(205); var _Nav2 = _interopRequireDefault(_Nav); var _NavItem = __webpack_require__(209); var _NavItem2 = _interopRequireDefault(_NavItem); var _styleMaps = __webpack_require__(29); var _styleMaps2 = _interopRequireDefault(_styleMaps); var _keycode = __webpack_require__(94); var _keycode2 = _interopRequireDefault(_keycode); var _utilsCreateChainedFunction = __webpack_require__(6); var _utilsCreateChainedFunction2 = _interopRequireDefault(_utilsCreateChainedFunction); var _utilsValidComponentChildren = __webpack_require__(7); var _utilsValidComponentChildren2 = _interopRequireDefault(_utilsValidComponentChildren); var paneId = function paneId(props, child) { return child.props.id ? child.props.id : props.id && props.id + '___pane___' + child.props.eventKey; }; var tabId = function tabId(props, child) { return child.props.id ? child.props.id + '___tab' : props.id && props.id + '___tab___' + child.props.eventKey; }; var findChild = _utilsValidComponentChildren2['default'].find; function getDefaultActiveKeyFromChildren(children) { var defaultActiveKey = undefined; _utilsValidComponentChildren2['default'].forEach(children, function (child) { if (defaultActiveKey == null) { defaultActiveKey = child.props.eventKey; } }); return defaultActiveKey; } function move(children, currentKey, keys, moveNext) { var lastIdx = keys.length - 1; var stopAt = keys[moveNext ? Math.max(lastIdx, 0) : 0]; var nextKey = currentKey; function getNext() { var idx = keys.indexOf(nextKey); nextKey = moveNext ? keys[Math.min(lastIdx, idx + 1)] : keys[Math.max(0, idx - 1)]; return findChild(children, function (_child) { return _child.props.eventKey === nextKey; }); } var next = getNext(); while (next.props.eventKey !== stopAt && next.props.disabled) { next = getNext(); } return next.props.disabled ? currentKey : next.props.eventKey; } var Tabs = _react2['default'].createClass({ displayName: 'Tabs', propTypes: { activeKey: _react2['default'].PropTypes.any, defaultActiveKey: _react2['default'].PropTypes.any, /** * Navigation style for tabs * * If not specified, it will be treated as `'tabs'` when vertically * positioned and `'pills'` when horizontally positioned. */ bsStyle: _react2['default'].PropTypes.oneOf(['tabs', 'pills']), animation: _react2['default'].PropTypes.bool, id: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]), onSelect: _react2['default'].PropTypes.func, position: _react2['default'].PropTypes.oneOf(['top', 'left', 'right']), /** * Number of grid columns for the tabs if horizontally positioned * * This accepts either a single width or a mapping of size to width. */ tabWidth: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.number, _react2['default'].PropTypes.object]), /** * Number of grid columns for the panes if horizontally positioned * * This accepts either a single width or a mapping of size to width. If not * specified, it will be treated as `styleMaps.GRID_COLUMNS` minus * `tabWidth`. */ paneWidth: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.number, _react2['default'].PropTypes.object]), /** * Render without clearfix if horizontally positioned */ standalone: _react2['default'].PropTypes.bool }, getDefaultProps: function getDefaultProps() { return { animation: true, tabWidth: 2, position: 'top', standalone: false }; }, getInitialState: function getInitialState() { var defaultActiveKey = this.props.defaultActiveKey != null ? this.props.defaultActiveKey : getDefaultActiveKeyFromChildren(this.props.children); return { activeKey: defaultActiveKey, previousActiveKey: null }; }, componentWillReceiveProps: function componentWillReceiveProps(nextProps) { var _this = this; if (nextProps.activeKey != null && nextProps.activeKey !== this.props.activeKey) { (function () { // check if the 'previousActiveKey' child still exists var previousActiveKey = _this.props.activeKey; _react2['default'].Children.forEach(nextProps.children, function (child) { if (_react2['default'].isValidElement(child)) { if (child.props.eventKey === previousActiveKey) { _this.setState({ previousActiveKey: previousActiveKey }); return; } } }); })(); } }, componentDidUpdate: function componentDidUpdate() { var tabs = this._tabs; var tabIdx = this._eventKeys().indexOf(this.getActiveKey()); if (this._needsRefocus) { this._needsRefocus = false; if (tabs && tabIdx !== -1) { var tabNode = _reactDom2['default'].findDOMNode(tabs[tabIdx]); if (tabNode) { tabNode.firstChild.focus(); } } } }, handlePaneAnimateOutEnd: function handlePaneAnimateOutEnd() { this.setState({ previousActiveKey: null }); }, render: function render() { var _props = this.props; var id = _props.id; var className = _props.className; var style = _props.style; var position = _props.position; var bsStyle = _props.bsStyle; var tabWidth = _props.tabWidth; var paneWidth = _props.paneWidth; var standalone = _props.standalone; var children = _props.children; var props = _objectWithoutProperties(_props, ['id', 'className', 'style', 'position', 'bsStyle', 'tabWidth', 'paneWidth', 'standalone', 'children']); var isHorizontal = position === 'left' || position === 'right'; if (bsStyle == null) { bsStyle = isHorizontal ? 'pills' : 'tabs'; } var containerProps = { id: id, className: className, style: style }; var tabsProps = _extends({}, props, { bsStyle: bsStyle, stacked: isHorizontal, activeKey: this.getActiveKey(), onSelect: this.handleSelect, ref: 'tabs', role: 'tablist' }); var childTabs = _utilsValidComponentChildren2['default'].map(children, this.renderTab); var panesProps = { className: 'tab-content', ref: 'panes' }; var childPanes = _utilsValidComponentChildren2['default'].map(children, this.renderPane); if (isHorizontal) { if (!standalone) { containerProps.className = _classnames2['default'](containerProps.className, 'clearfix'); } var _getColProps = this.getColProps({ tabWidth: tabWidth, paneWidth: paneWidth }); var tabsColProps = _getColProps.tabsColProps; var panesColProps = _getColProps.panesColProps; var tabs = _react2['default'].createElement( _Col2['default'], _extends({ componentClass: _Nav2['default'] }, tabsProps, tabsColProps), childTabs ); var panes = _react2['default'].createElement( _Col2['default'], _extends({}, panesProps, panesColProps), childPanes ); if (position === 'left') { return _react2['default'].createElement( 'div', containerProps, tabs, panes ); } return _react2['default'].createElement( 'div', containerProps, panes, tabs ); } return _react2['default'].createElement( 'div', containerProps, _react2['default'].createElement( _Nav2['default'], tabsProps, childTabs ), _react2['default'].createElement( 'div', panesProps, childPanes ) ); }, getActiveKey: function getActiveKey() { return this.props.activeKey !== undefined ? this.props.activeKey : this.state.activeKey; }, renderPane: function renderPane(child, index) { var previousActiveKey = this.state.previousActiveKey; var shouldPaneBeSetActive = child.props.eventKey === this.getActiveKey(); var thereIsNoActivePane = previousActiveKey == null; var paneIsAlreadyActive = previousActiveKey != null && child.props.eventKey === previousActiveKey; return _react.cloneElement(child, { active: shouldPaneBeSetActive && (thereIsNoActivePane || !this.props.animation), id: paneId(this.props, child), 'aria-labelledby': tabId(this.props, child), key: child.key ? child.key : index, animation: this.props.animation, onAnimateOutEnd: paneIsAlreadyActive ? this.handlePaneAnimateOutEnd : null }); }, renderTab: function renderTab(child, index) { var _this2 = this; if (child.props.title == null) { return null; } var _child$props = child.props; var eventKey = _child$props.eventKey; var title = _child$props.title; var disabled = _child$props.disabled; var onKeyDown = _child$props.onKeyDown; var tabClassName = _child$props.tabClassName; var _child$props$tabIndex = _child$props.tabIndex; var tabIndex = _child$props$tabIndex === undefined ? 0 : _child$props$tabIndex; var isActive = this.getActiveKey() === eventKey; return _react2['default'].createElement( _NavItem2['default'], { linkId: tabId(this.props, child), ref: function (ref) { return (_this2._tabs || (_this2._tabs = []))[index] = ref; }, 'aria-controls': paneId(this.props, child), onKeyDown: _utilsCreateChainedFunction2['default'](this.handleKeyDown, onKeyDown), eventKey: eventKey, tabIndex: isActive ? tabIndex : -1, disabled: disabled, className: tabClassName }, title ); }, getColProps: function getColProps(_ref) { var tabWidth = _ref.tabWidth; var paneWidth = _ref.paneWidth; var tabsColProps = undefined; if (tabWidth instanceof Object) { tabsColProps = tabWidth; } else { tabsColProps = { xs: tabWidth }; } var panesColProps = undefined; if (paneWidth == null) { panesColProps = {}; _Object$keys(tabsColProps).forEach(function (size) { panesColProps[size] = _styleMaps2['default'].GRID_COLUMNS - tabsColProps[size]; }); } else if (paneWidth instanceof Object) { panesColProps = paneWidth; } else { panesColProps = { xs: paneWidth }; } return { tabsColProps: tabsColProps, panesColProps: panesColProps }; }, shouldComponentUpdate: function shouldComponentUpdate() { // Defer any updates to this component during the `onSelect` handler. return !this._isChanging; }, handleSelect: function handleSelect(selectedKey) { if (this.props.onSelect) { this._isChanging = true; this.props.onSelect(selectedKey); this._isChanging = false; return; } // if there is no external handler, then use embedded one var previousActiveKey = this.getActiveKey(); if (selectedKey !== previousActiveKey) { this.setState({ activeKey: selectedKey, previousActiveKey: previousActiveKey }); } }, handleKeyDown: function handleKeyDown(event) { var keys = this._eventKeys(); var currentKey = this.getActiveKey() || keys[0]; var next = undefined; switch (event.keyCode) { case _keycode2['default'].codes.left: case _keycode2['default'].codes.up: next = move(this.props.children, currentKey, keys, false); if (next && next !== currentKey) { event.preventDefault(); this.handleSelect(next); this._needsRefocus = true; } break; case _keycode2['default'].codes.right: case _keycode2['default'].codes.down: next = move(this.props.children, currentKey, keys, true); if (next && next !== currentKey) { event.preventDefault(); this.handleSelect(next); this._needsRefocus = true; } break; default: } }, _eventKeys: function _eventKeys() { var keys = []; _utilsValidComponentChildren2['default'].forEach(this.props.children, function (_ref2) { var eventKey = _ref2.props.eventKey; return keys.push(eventKey); }); return keys; } }); exports['default'] = Tabs; module.exports = exports['default']; /***/ }, /* 238 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var _SafeAnchor = __webpack_require__(49); var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); var Thumbnail = _react2['default'].createClass({ displayName: 'Thumbnail', mixins: [_BootstrapMixin2['default']], propTypes: { alt: _react2['default'].PropTypes.string, href: _react2['default'].PropTypes.string, src: _react2['default'].PropTypes.string }, getDefaultProps: function getDefaultProps() { return { bsClass: 'thumbnail' }; }, render: function render() { var classes = this.getBsClassSet(); if (this.props.href) { return _react2['default'].createElement( _SafeAnchor2['default'], _extends({}, this.props, { href: this.props.href, className: _classnames2['default'](this.props.className, classes) }), _react2['default'].createElement('img', { src: this.props.src, alt: this.props.alt }) ); } if (this.props.children) { return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), _react2['default'].createElement('img', { src: this.props.src, alt: this.props.alt }), _react2['default'].createElement( 'div', { className: 'caption' }, this.props.children ) ); } return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), _react2['default'].createElement('img', { src: this.props.src, alt: this.props.alt }) ); } }); exports['default'] = Thumbnail; module.exports = exports['default']; /***/ }, /* 239 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _inherits = __webpack_require__(50)['default']; var _classCallCheck = __webpack_require__(61)['default']; var _extends = __webpack_require__(9)['default']; var _objectWithoutProperties = __webpack_require__(26)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _reactPropTypesLibIsRequiredForA11y = __webpack_require__(163); var _reactPropTypesLibIsRequiredForA11y2 = _interopRequireDefault(_reactPropTypesLibIsRequiredForA11y); var Tooltip = (function (_React$Component) { _inherits(Tooltip, _React$Component); function Tooltip() { _classCallCheck(this, Tooltip); _React$Component.apply(this, arguments); } Tooltip.prototype.render = function render() { var _props = this.props; var placement = _props.placement; var positionLeft = _props.positionLeft; var positionTop = _props.positionTop; var arrowOffsetLeft = _props.arrowOffsetLeft; var arrowOffsetTop = _props.arrowOffsetTop; var className = _props.className; var style = _props.style; var children = _props.children; var props = _objectWithoutProperties(_props, ['placement', 'positionLeft', 'positionTop', 'arrowOffsetLeft', 'arrowOffsetTop', 'className', 'style', 'children']); return _react2['default'].createElement( 'div', _extends({ role: 'tooltip' }, props, { className: _classnames2['default'](className, 'tooltip', placement), style: _extends({ left: positionLeft, top: positionTop }, style) }), _react2['default'].createElement('div', { className: 'tooltip-arrow', style: { left: arrowOffsetLeft, top: arrowOffsetTop } }), _react2['default'].createElement( 'div', { className: 'tooltip-inner' }, children ) ); }; return Tooltip; })(_react2['default'].Component); exports['default'] = Tooltip; Tooltip.propTypes = { /** * An html id attribute, necessary for accessibility * @type {string} * @required */ id: _reactPropTypesLibIsRequiredForA11y2['default'](_react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number])), /** * The direction the tooltip is positioned towards */ placement: _react2['default'].PropTypes.oneOf(['top', 'right', 'bottom', 'left']), /** * The `left` position value for the tooltip */ positionLeft: _react2['default'].PropTypes.number, /** * The `top` position value for the tooltip */ positionTop: _react2['default'].PropTypes.number, /** * The `left` position value for the tooltip arrow */ arrowOffsetLeft: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.number, _react2['default'].PropTypes.string]), /** * The `top` position value for the tooltip arrow */ arrowOffsetTop: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.number, _react2['default'].PropTypes.string]) }; Tooltip.defaultProps = { placement: 'right' }; module.exports = exports['default']; /***/ }, /* 240 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _extends = __webpack_require__(9)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; exports.__esModule = true; var _react = __webpack_require__(4); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(27); var _classnames2 = _interopRequireDefault(_classnames); var _BootstrapMixin = __webpack_require__(28); var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin); var Well = _react2['default'].createClass({ displayName: 'Well', mixins: [_BootstrapMixin2['default']], getDefaultProps: function getDefaultProps() { return { bsClass: 'well' }; }, render: function render() { var classes = this.getBsClassSet(); return _react2['default'].createElement( 'div', _extends({}, this.props, { className: _classnames2['default'](this.props.className, classes) }), this.props.children ); } }); exports['default'] = Well; module.exports = exports['default']; /***/ } /******/ ]) }); ;