`. \\n\\n' +\n 'for more details see: http://react-bootstrap.github.io/components.html#navbars'\n });\n\n return ;\n }\n\n const {\n fixedTop,\n fixedBottom,\n staticTop,\n inverse,\n componentClass: ComponentClass,\n fluid,\n className,\n children,\n ...props\n } = this.props;\n\n // will result in some false positives but that seems better\n // than false negatives. strict `undefined` check allows explicit\n // \"nulling\" of the role if the user really doesn't want one\n if (props.role === undefined && ComponentClass !== 'nav') {\n props.role = 'navigation';\n }\n\n const classes = tbsUtils.getClassSet(this.props);\n\n classes[tbsUtils.prefix(this.props, 'fixed-top')] = fixedTop;\n classes[tbsUtils.prefix(this.props, 'fixed-bottom')] = fixedBottom;\n classes[tbsUtils.prefix(this.props, 'static-top')] = staticTop;\n\n // handle built-in styles manually to provide the convenience `inverse` prop\n classes[tbsUtils.prefix(this.props, INVERSE)] = inverse;\n classes[tbsUtils.prefix(this.props, DEFAULT)] = !inverse;\n\n return (\n \n \n { children }\n \n \n );\n }\n});\n\nconst NAVBAR_STATES = [DEFAULT, INVERSE];\n\nNavbar = bsStyles(NAVBAR_STATES, DEFAULT,\n bsClasses('navbar',\n uncontrollable(Navbar, { expanded: 'onToggle' })\n )\n);\n\nfunction createSimpleWrapper(tag, suffix, displayName) {\n let wrapper = (\n { componentClass: Tag, className, ...props },\n { $bs_navbar_bsClass: bsClass = 'navbar' }\n ) =>\n ;\n\n wrapper.displayName = displayName;\n\n wrapper.propTypes = {\n componentClass: elementType,\n pullRight: React.PropTypes.bool,\n pullLeft: React.PropTypes.bool,\n };\n wrapper.defaultProps = {\n componentClass: tag,\n pullRight: false,\n pullLeft: false\n };\n\n wrapper.contextTypes = {\n $bs_navbar_bsClass: PropTypes.string\n };\n\n return wrapper;\n}\n\nNavbar.Brand = NavbarBrand;\nNavbar.Header = NavbarHeader;\nNavbar.Toggle = NavbarToggle;\nNavbar.Collapse = NavbarCollapse;\n\nNavbar.Form = createSimpleWrapper('div', 'form', 'NavbarForm');\nNavbar.Text = createSimpleWrapper('p', 'text', 'NavbarText');\nNavbar.Link = createSimpleWrapper('a', 'link', 'NavbarLink');\n\nexport default Navbar;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Navbar.js\n **/","import React, { PropTypes } from 'react';\nimport tbsUtils from './utils/bootstrapUtils';\nimport Collapse from './Collapse';\n\nlet NavbarCollapse = React.createClass({\n\n contextTypes: {\n $bs_navbar_bsClass: PropTypes.string,\n $bs_navbar_expanded: PropTypes.bool\n },\n\n render() {\n let { children, ...props } = this.props;\n let {\n $bs_navbar_bsClass: bsClass = 'navbar',\n $bs_navbar_expanded: expanded,\n } = this.context;\n\n return (\n \n \n { children }\n
\n \n );\n }\n});\n\nexport default NavbarCollapse;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/NavbarCollapse.js\n **/","import React, { PropTypes } from 'react';\nimport tbsUtils from './utils/bootstrapUtils';\n\nlet NavbarHeader = React.createClass({\n\n contextTypes: {\n $bs_navbar_bsClass: PropTypes.string\n },\n\n render() {\n let { children, ...props } = this.props;\n let {\n $bs_navbar_bsClass: bsClass = 'navbar',\n } = this.context;\n\n return (\n \n { children }\n
\n );\n }\n});\n\nexport default NavbarHeader;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/NavbarHeader.js\n **/","import React, { PropTypes } from 'react';\nimport tbsUtils from './utils/bootstrapUtils';\n\nlet NavbarToggle = React.createClass({\n\n propTypes: {\n /**\n * The toggle content, if left empty it will render the default toggle (seen above).\n */\n children: PropTypes.node\n },\n\n contextTypes: {\n $bs_navbar_bsClass: PropTypes.string,\n $bs_navbar_onToggle: PropTypes.func,\n },\n\n render() {\n let { children, ...props } = this.props;\n let {\n $bs_navbar_bsClass: bsClass = 'navbar',\n $bs_navbar_onToggle: onToggle\n } = this.context;\n\n return (\n \n );\n }\n});\n\nexport default NavbarToggle;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/NavbarToggle.js\n **/","/* eslint-disable react/prop-types */\n\nimport contains from 'dom-helpers/query/contains';\nimport pick from 'lodash-compat/object/pick';\nimport React, { cloneElement } from 'react';\nimport ReactDOM from 'react-dom';\nimport warning from 'warning';\n\nimport Overlay from './Overlay';\n\nimport createChainedFunction from './utils/createChainedFunction';\n\n/**\n * Check if value one is inside or equal to the of value\n *\n * @param {string} one\n * @param {string|array} of\n * @returns {boolean}\n */\nfunction isOneOf(one, of) {\n if (Array.isArray(of)) {\n return of.indexOf(one) >= 0;\n }\n return one === of;\n}\n\nconst OverlayTrigger = React.createClass({\n propTypes: {\n\n ...Overlay.propTypes,\n\n /**\n * Specify which action or actions trigger Overlay visibility\n */\n trigger: React.PropTypes.oneOfType([\n React.PropTypes.oneOf(['click', 'hover', 'focus']),\n React.PropTypes.arrayOf(React.PropTypes.oneOf(['click', 'hover', 'focus']))\n ]),\n\n /**\n * A millisecond delay amount to show and hide the Overlay once triggered\n */\n delay: React.PropTypes.number,\n /**\n * A millisecond delay amount before showing the Overlay once triggered.\n */\n delayShow: React.PropTypes.number,\n /**\n * A millisecond delay amount before hiding the Overlay once triggered.\n */\n delayHide: React.PropTypes.number,\n\n /**\n * The initial visibility state of the Overlay, for more nuanced visibility controll consider\n * using the Overlay component directly.\n */\n defaultOverlayShown: React.PropTypes.bool,\n\n /**\n * An element or text to overlay next to the target.\n */\n overlay: React.PropTypes.node.isRequired,\n\n /**\n * @private\n */\n onBlur: React.PropTypes.func,\n /**\n * @private\n */\n onClick: React.PropTypes.func,\n /**\n * @private\n */\n onFocus: React.PropTypes.func,\n /**\n * @private\n */\n onMouseEnter: React.PropTypes.func,\n /**\n * @private\n */\n onMouseLeave: React.PropTypes.func,\n\n // override specific overlay props\n /**\n * @private\n */\n target() {},\n /**\n * @private\n */\n onHide() {},\n /**\n * @private\n */\n show() {}\n },\n\n getDefaultProps() {\n return {\n defaultOverlayShown: false,\n trigger: ['hover', 'focus']\n };\n },\n\n getInitialState() {\n return {\n isOverlayShown: this.props.defaultOverlayShown\n };\n },\n\n show() {\n this.setState({\n isOverlayShown: true\n });\n },\n\n hide() {\n this.setState({\n isOverlayShown: false\n });\n },\n\n toggle() {\n if (this.state.isOverlayShown) {\n this.hide();\n } else {\n this.show();\n }\n },\n\n componentWillMount() {\n this.handleMouseOver = this.handleMouseOverOut.bind(null, this.handleDelayedShow);\n this.handleMouseOut = this.handleMouseOverOut.bind(null, this.handleDelayedHide);\n },\n\n componentDidMount() {\n this._mountNode = document.createElement('div');\n this.renderOverlay();\n },\n\n renderOverlay() {\n ReactDOM.unstable_renderSubtreeIntoContainer(\n this, this._overlay, this._mountNode\n );\n },\n\n componentWillUnmount() {\n ReactDOM.unmountComponentAtNode(this._mountNode);\n this._mountNode = null;\n clearTimeout(this._hoverShowDelay);\n clearTimeout(this._hoverHideDelay);\n },\n\n componentDidUpdate() {\n if (this._mountNode) {\n this.renderOverlay();\n }\n },\n\n getOverlayTarget() {\n return ReactDOM.findDOMNode(this);\n },\n\n getOverlay() {\n let overlayProps = {\n ...pick(this.props, Object.keys(Overlay.propTypes)),\n show: this.state.isOverlayShown,\n onHide: this.hide,\n target: this.getOverlayTarget,\n onExit: this.props.onExit,\n onExiting: this.props.onExiting,\n onExited: this.props.onExited,\n onEnter: this.props.onEnter,\n onEntering: this.props.onEntering,\n onEntered: this.props.onEntered\n };\n\n let overlay = cloneElement(this.props.overlay, {\n placement: overlayProps.placement,\n container: overlayProps.container\n });\n\n return (\n \n { overlay }\n \n );\n },\n\n render() {\n const trigger = React.Children.only(this.props.children);\n const triggerProps = trigger.props;\n\n const props = {\n 'aria-describedby': this.props.overlay.props.id\n };\n\n // create in render otherwise owner is lost...\n this._overlay = this.getOverlay();\n\n props.onClick = createChainedFunction(triggerProps.onClick, this.props.onClick);\n\n if (isOneOf('click', this.props.trigger)) {\n props.onClick = createChainedFunction(this.toggle, props.onClick);\n }\n\n if (isOneOf('hover', this.props.trigger)) {\n warning(!(this.props.trigger === 'hover'),\n '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the visibilty of the overlay to just mouse users. ' +\n 'Consider also including the `\"focus\"` trigger so that touch and keyboard only users can see the overlay as well.');\n\n props.onMouseOver = createChainedFunction(this.handleMouseOver, this.props.onMouseOver, triggerProps.onMouseOver);\n props.onMouseOut = createChainedFunction(this.handleMouseOut, this.props.onMouseOut, triggerProps.onMouseOut);\n }\n\n if (isOneOf('focus', this.props.trigger)) {\n props.onFocus = createChainedFunction(this.handleDelayedShow, this.props.onFocus, triggerProps.onFocus);\n props.onBlur = createChainedFunction(this.handleDelayedHide, this.props.onBlur, triggerProps.onBlur);\n }\n\n return cloneElement(\n trigger,\n props\n );\n },\n\n handleDelayedShow() {\n if (this._hoverHideDelay != null) {\n clearTimeout(this._hoverHideDelay);\n this._hoverHideDelay = null;\n return;\n }\n\n if (this.state.isOverlayShown || this._hoverShowDelay != null) {\n return;\n }\n\n const delay = this.props.delayShow != null ?\n this.props.delayShow : this.props.delay;\n\n if (!delay) {\n this.show();\n return;\n }\n\n this._hoverShowDelay = setTimeout(() => {\n this._hoverShowDelay = null;\n this.show();\n }, delay);\n },\n\n handleDelayedHide() {\n if (this._hoverShowDelay != null) {\n clearTimeout(this._hoverShowDelay);\n this._hoverShowDelay = null;\n return;\n }\n\n if (!this.state.isOverlayShown || this._hoverHideDelay != null) {\n return;\n }\n\n const delay = this.props.delayHide != null ?\n this.props.delayHide : this.props.delay;\n\n if (!delay) {\n this.hide();\n return;\n }\n\n this._hoverHideDelay = setTimeout(() => {\n this._hoverHideDelay = null;\n this.hide();\n }, delay);\n },\n\n // Simple implementation of mouseEnter and mouseLeave.\n // React's built version is broken: https://github.com/facebook/react/issues/4251\n // for cases when the trigger is disabled and mouseOut/Over can cause flicker moving\n // from one child element to another.\n handleMouseOverOut(handler, e) {\n let target = e.currentTarget;\n let related = e.relatedTarget || e.nativeEvent.toElement;\n\n if (!related || related !== target && !contains(target, related)) {\n handler(e);\n }\n }\n\n});\n\nexport default OverlayTrigger;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/OverlayTrigger.js\n **/","import React from 'react';\nimport classNames from 'classnames';\n\nconst PageHeader = React.createClass({\n render() {\n return (\n \n
{this.props.children}
\n \n );\n }\n});\n\nexport default PageHeader;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/PageHeader.js\n **/","import React from 'react';\nimport classNames from 'classnames';\nimport SafeAnchor from './SafeAnchor';\n\nconst PageItem = React.createClass({\n\n propTypes: {\n href: React.PropTypes.string,\n target: React.PropTypes.string,\n title: React.PropTypes.string,\n disabled: React.PropTypes.bool,\n previous: React.PropTypes.bool,\n next: React.PropTypes.bool,\n onSelect: React.PropTypes.func,\n eventKey: React.PropTypes.any\n },\n\n getDefaultProps() {\n return {\n disabled: false,\n previous: false,\n next: false\n };\n },\n\n render() {\n let classes = {\n 'disabled': this.props.disabled,\n 'previous': this.props.previous,\n 'next': this.props.next\n };\n\n return (\n \n \n {this.props.children}\n \n \n );\n },\n\n handleSelect(e) {\n if (this.props.onSelect || this.props.disabled) {\n e.preventDefault();\n\n if (!this.props.disabled) {\n this.props.onSelect(this.props.eventKey, this.props.href, this.props.target);\n }\n }\n }\n});\n\nexport default PageItem;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/PageItem.js\n **/","import React, { cloneElement } from 'react';\nimport classNames from 'classnames';\n\nimport ValidComponentChildren from './utils/ValidComponentChildren';\nimport createChainedFunction from './utils/createChainedFunction';\n\nconst Pager = React.createClass({\n\n propTypes: {\n onSelect: React.PropTypes.func\n },\n\n render() {\n return (\n \n {ValidComponentChildren.map(this.props.children, this.renderPageItem)}\n
\n );\n },\n\n renderPageItem(child, index) {\n return cloneElement(\n child,\n {\n onSelect: createChainedFunction(child.props.onSelect, this.props.onSelect),\n key: child.key ? child.key : index\n }\n );\n }\n});\n\nexport default Pager;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Pager.js\n **/","import React from 'react';\nimport classNames from 'classnames';\nimport bootstrapUtils, { bsClass } from './utils/bootstrapUtils';\nimport PaginationButton from './PaginationButton';\nimport elementType from 'react-prop-types/lib/elementType';\nimport SafeAnchor from './SafeAnchor';\n\nconst Pagination = React.createClass({\n\n propTypes: {\n activePage: React.PropTypes.number,\n items: React.PropTypes.number,\n maxButtons: React.PropTypes.number,\n /**\n * When `true`, will display the default node value ('...').\n * Otherwise, will display provided node (when specified).\n */\n ellipsis: React.PropTypes.oneOfType([\n React.PropTypes.bool,\n React.PropTypes.node\n ]),\n /**\n * When `true`, will display the default node value ('«').\n * Otherwise, will display provided node (when specified).\n */\n first: React.PropTypes.oneOfType([\n React.PropTypes.bool,\n React.PropTypes.node\n ]),\n /**\n * When `true`, will display the default node value ('»').\n * Otherwise, will display provided node (when specified).\n */\n last: React.PropTypes.oneOfType([\n React.PropTypes.bool,\n React.PropTypes.node\n ]),\n /**\n * When `true`, will display the default node value ('‹').\n * Otherwise, will display provided node (when specified).\n */\n prev: React.PropTypes.oneOfType([\n React.PropTypes.bool,\n React.PropTypes.node\n ]),\n /**\n * When `true`, will display the default node value ('›').\n * Otherwise, will display provided node (when specified).\n */\n next: React.PropTypes.oneOfType([\n React.PropTypes.bool,\n React.PropTypes.node\n ]),\n onSelect: React.PropTypes.func,\n /**\n * You can use a custom element for the buttons\n */\n buttonComponentClass: elementType\n },\n\n getDefaultProps() {\n return {\n activePage: 1,\n items: 1,\n maxButtons: 0,\n first: false,\n last: false,\n prev: false,\n next: false,\n ellipsis: true,\n buttonComponentClass: SafeAnchor,\n bsClass: 'pagination'\n };\n },\n\n renderPageButtons() {\n let pageButtons = [];\n let startPage, endPage, hasHiddenPagesAfter;\n let {\n maxButtons,\n activePage,\n items,\n onSelect,\n ellipsis,\n buttonComponentClass\n } = this.props;\n\n if (maxButtons) {\n let hiddenPagesBefore = activePage - parseInt(maxButtons / 2, 10);\n startPage = hiddenPagesBefore > 1 ? hiddenPagesBefore : 1;\n hasHiddenPagesAfter = startPage + maxButtons <= items;\n\n if (!hasHiddenPagesAfter) {\n endPage = items;\n startPage = items - maxButtons + 1;\n if (startPage < 1) {\n startPage = 1;\n }\n } else {\n endPage = startPage + maxButtons - 1;\n }\n } else {\n startPage = 1;\n endPage = items;\n }\n\n for (let pagenumber = startPage; pagenumber <= endPage; pagenumber++) {\n pageButtons.push(\n \n {pagenumber}\n \n );\n }\n\n if (maxButtons && hasHiddenPagesAfter && ellipsis) {\n pageButtons.push(\n \n \n {this.props.ellipsis === true ? '...' : this.props.ellipsis}\n \n \n );\n }\n\n return pageButtons;\n },\n\n renderPrev() {\n if (!this.props.prev) {\n return null;\n }\n\n return (\n \n \n {this.props.prev === true ? '\\u2039' : this.props.prev}\n \n \n );\n },\n\n renderNext() {\n if (!this.props.next) {\n return null;\n }\n\n return (\n = this.props.items}\n onSelect={this.props.onSelect}\n buttonComponentClass={this.props.buttonComponentClass}>\n \n {this.props.next === true ? '\\u203a' : this.props.next}\n \n \n );\n },\n\n renderFirst() {\n if (!this.props.first) {\n return null;\n }\n\n return (\n \n \n {this.props.first === true ? '\\u00ab' : this.props.first}\n \n \n );\n },\n\n renderLast() {\n if (!this.props.last) {\n return null;\n }\n\n return (\n = this.props.items}\n onSelect={this.props.onSelect}\n buttonComponentClass={this.props.buttonComponentClass}>\n \n {this.props.last === true ? '\\u00bb' : this.props.last}\n \n \n );\n },\n\n render() {\n return (\n \n {this.renderFirst()}\n {this.renderPrev()}\n {this.renderPageButtons()}\n {this.renderNext()}\n {this.renderLast()}\n
\n );\n }\n});\n\nexport default bsClass('pagination', Pagination);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Pagination.js\n **/","import React from 'react';\nimport classNames from 'classnames';\nimport createSelectedEvent from './utils/createSelectedEvent';\nimport elementType from 'react-prop-types/lib/elementType';\n\nconst PaginationButton = React.createClass({\n\n propTypes: {\n className: React.PropTypes.string,\n eventKey: React.PropTypes.oneOfType([\n React.PropTypes.string,\n React.PropTypes.number\n ]),\n onSelect: React.PropTypes.func,\n disabled: React.PropTypes.bool,\n active: React.PropTypes.bool,\n /**\n * You can use a custom element for this component\n */\n buttonComponentClass: elementType\n },\n\n getDefaultProps() {\n return {\n active: false,\n disabled: false\n };\n },\n\n handleClick(event) {\n if (this.props.disabled) {\n return;\n }\n\n if (this.props.onSelect) {\n let selectedEvent = createSelectedEvent(this.props.eventKey);\n this.props.onSelect(event, selectedEvent);\n }\n },\n\n render() {\n let classes = {\n active: this.props.active,\n disabled: this.props.disabled\n };\n\n let {\n className,\n ...anchorProps\n } = this.props;\n\n let ButtonComponentClass = this.props.buttonComponentClass;\n\n return (\n \n \n \n );\n }\n});\n\nexport default PaginationButton;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/PaginationButton.js\n **/","import React, { cloneElement } from 'react';\nimport classNames from 'classnames';\nimport bootstrapUtils, { bsStyles, bsClass } from './utils/bootstrapUtils';\nimport { State, PRIMARY, DEFAULT } from './styleMaps';\nimport Collapse from './Collapse';\n\nlet Panel = React.createClass({\n\n propTypes: {\n collapsible: React.PropTypes.bool,\n onSelect: React.PropTypes.func,\n header: React.PropTypes.node,\n id: React.PropTypes.oneOfType([\n React.PropTypes.string,\n React.PropTypes.number\n ]),\n footer: React.PropTypes.node,\n defaultExpanded: React.PropTypes.bool,\n expanded: React.PropTypes.bool,\n eventKey: React.PropTypes.any,\n headerRole: React.PropTypes.string,\n panelRole: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n defaultExpanded: false\n };\n },\n\n getInitialState() {\n return {\n expanded: this.props.defaultExpanded\n };\n },\n\n handleSelect(e) {\n e.selected = true;\n\n if (this.props.onSelect) {\n this.props.onSelect(e, this.props.eventKey);\n } else {\n e.preventDefault();\n }\n\n if (e.selected) {\n this.handleToggle();\n }\n },\n\n handleToggle() {\n this.setState({ expanded: !this.state.expanded});\n },\n\n isExpanded() {\n return this.props.expanded != null ? this.props.expanded : this.state.expanded;\n },\n\n render() {\n let {headerRole, panelRole, ...props} = this.props;\n return (\n \n {this.renderHeading(headerRole)}\n {this.props.collapsible ? this.renderCollapsibleBody(panelRole) : this.renderBody()}\n {this.renderFooter()}\n
\n );\n },\n\n renderCollapsibleBody(panelRole) {\n let props = {\n className: bootstrapUtils.prefix(this.props, 'collapse'),\n id: this.props.id,\n ref: 'panel',\n 'aria-hidden': !this.isExpanded()\n };\n if (panelRole) {\n props.role = panelRole;\n }\n\n return (\n \n \n {this.renderBody()}\n\n
\n \n );\n },\n\n renderBody() {\n let allChildren = this.props.children;\n let bodyElements = [];\n let panelBodyChildren = [];\n let bodyClass = bootstrapUtils.prefix(this.props, 'body');\n\n function getProps() {\n return {key: bodyElements.length};\n }\n\n function addPanelChild(child) {\n bodyElements.push(cloneElement(child, getProps()));\n }\n\n function addPanelBody(children) {\n bodyElements.push(\n \n {children}\n
\n );\n }\n\n function maybeRenderPanelBody() {\n if (panelBodyChildren.length === 0) {\n return;\n }\n\n addPanelBody(panelBodyChildren);\n panelBodyChildren = [];\n }\n\n // Handle edge cases where we should not iterate through children.\n if (!Array.isArray(allChildren) || allChildren.length === 0) {\n if (this.shouldRenderFill(allChildren)) {\n addPanelChild(allChildren);\n } else {\n addPanelBody(allChildren);\n }\n } else {\n allChildren.forEach( child => {\n if (this.shouldRenderFill(child)) {\n maybeRenderPanelBody();\n\n // Separately add the filled element.\n addPanelChild(child);\n } else {\n panelBodyChildren.push(child);\n }\n });\n\n maybeRenderPanelBody();\n }\n\n return bodyElements;\n },\n\n shouldRenderFill(child) {\n return React.isValidElement(child) && child.props.fill != null;\n },\n\n renderHeading(headerRole) {\n let header = this.props.header;\n\n if (!header) {\n return null;\n }\n\n if (!React.isValidElement(header) || Array.isArray(header)) {\n header = this.props.collapsible ?\n this.renderCollapsibleTitle(header, headerRole) : header;\n } else {\n const className = classNames(\n bootstrapUtils.prefix(this.props, 'title'), header.props.className\n );\n\n if (this.props.collapsible) {\n header = cloneElement(header, {\n className,\n children: this.renderAnchor(header.props.children, headerRole)\n });\n } else {\n header = cloneElement(header, {className});\n }\n }\n\n return (\n \n {header}\n
\n );\n },\n\n renderAnchor(header, headerRole) {\n return (\n \n {header}\n \n );\n },\n\n renderCollapsibleTitle(header, headerRole) {\n return (\n \n {this.renderAnchor(header, headerRole)}\n
\n );\n },\n\n renderFooter() {\n if (!this.props.footer) {\n return null;\n }\n\n return (\n \n {this.props.footer}\n
\n );\n }\n});\n\nconst PANEL_STATES = State.values().concat(DEFAULT, PRIMARY);\n\nexport default bsStyles(PANEL_STATES, DEFAULT,\n bsClass('panel', Panel)\n);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Panel.js\n **/","import React from 'react';\nimport classNames from 'classnames';\nimport tbsUtils from './utils/bootstrapUtils';\nimport isRequiredForA11y from 'react-prop-types/lib/isRequiredForA11y';\n\nconst Popover = React.createClass({\n\n propTypes: {\n\n /**\n * An html id attribute, necessary for accessibility\n * @type {string}\n * @required\n */\n id: isRequiredForA11y(\n React.PropTypes.oneOfType([\n React.PropTypes.string,\n React.PropTypes.number\n ])\n ),\n\n /**\n * Sets the direction the Popover is positioned towards.\n */\n placement: React.PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * The \"left\" position value for the Popover.\n */\n positionLeft: React.PropTypes.number,\n /**\n * The \"top\" position value for the Popover.\n */\n positionTop: React.PropTypes.number,\n /**\n * The \"left\" position value for the Popover arrow.\n */\n arrowOffsetLeft: React.PropTypes.oneOfType([\n React.PropTypes.number, React.PropTypes.string\n ]),\n /**\n * The \"top\" position value for the Popover arrow.\n */\n arrowOffsetTop: React.PropTypes.oneOfType([\n React.PropTypes.number, React.PropTypes.string\n ]),\n /**\n * Title text\n */\n title: React.PropTypes.node\n },\n\n getDefaultProps() {\n return {\n placement: 'right',\n bsClass: 'popover'\n };\n },\n\n render() {\n const classes = {\n [tbsUtils.prefix(this.props)]: true,\n [this.props.placement]: true\n };\n\n const style = {\n 'left': this.props.positionLeft,\n 'top': this.props.positionTop,\n 'display': 'block',\n // we don't want to expose the `style` property\n ...this.props.style // eslint-disable-line react/prop-types\n };\n\n const arrowStyle = {\n 'left': this.props.arrowOffsetLeft,\n 'top': this.props.arrowOffsetTop\n };\n\n return (\n \n
\n {this.props.title ? this.renderTitle() : null}\n
\n {this.props.children}\n
\n
\n );\n },\n\n renderTitle() {\n return (\n \n {this.props.title}\n
\n );\n }\n});\n\nexport default Popover;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Popover.js\n **/","import React, { cloneElement, PropTypes } from 'react';\nimport Interpolate from './Interpolate';\nimport bootstrapUtils, { bsStyles, bsClass } from './utils/bootstrapUtils';\nimport { State } from './styleMaps';\nimport classNames from 'classnames';\nimport ValidComponentChildren from './utils/ValidComponentChildren';\n\n/**\n * Custom propTypes checker\n */\nfunction onlyProgressBar(props, propName, componentName) {\n if (props[propName]) {\n let error, childIdentifier;\n\n React.Children.forEach(props[propName], (child) => {\n if (child.type !== ProgressBar) { //eslint-disable-line\n childIdentifier = (child.type.displayName ? child.type.displayName : child.type);\n error = new Error(`Children of ${componentName} can contain only ProgressBar components. Found ${childIdentifier}`);\n }\n });\n\n return error;\n }\n}\n\nclass ProgressBar extends React.Component {\n\n getPercentage(now, min, max) {\n const roundPrecision = 1000;\n return Math.round(((now - min) / (max - min) * 100) * roundPrecision) / roundPrecision;\n }\n\n render() {\n if (this.props.isChild) {\n return this.renderProgressBar();\n }\n\n let content;\n\n if (this.props.children) {\n content = ValidComponentChildren.map(this.props.children, this.renderChildBar);\n } else {\n content = this.renderProgressBar();\n }\n\n return (\n \n {content}\n
\n );\n }\n\n renderChildBar(child, index) {\n return cloneElement(child, {\n isChild: true,\n key: child.key ? child.key : index\n });\n }\n\n renderProgressBar() {\n let { className, label, now, min, max, ...props } = this.props;\n\n const percentage = this.getPercentage(\n now, min, max\n );\n\n if (typeof label === 'string') {\n label = this.renderLabel(percentage);\n }\n\n if (this.props.srOnly) {\n label = (\n \n {label}\n \n );\n }\n\n const classes = classNames(className, bootstrapUtils.getClassSet(this.props), {\n active: this.props.active,\n [bootstrapUtils.prefix(this.props, 'striped')]: this.props.active || this.props.striped\n });\n\n return (\n \n {label}\n
\n );\n }\n\n renderLabel(percentage) {\n const InterpolateClass = this.props.interpolateClass || Interpolate;\n\n return (\n \n {this.props.label}\n \n );\n }\n}\n\nProgressBar.propTypes = {\n ...ProgressBar.propTypes,\n min: PropTypes.number,\n now: PropTypes.number,\n max: PropTypes.number,\n label: PropTypes.node,\n srOnly: PropTypes.bool,\n striped: PropTypes.bool,\n active: PropTypes.bool,\n children: onlyProgressBar,\n className: React.PropTypes.string,\n interpolateClass: PropTypes.node,\n /**\n * @private\n */\n isChild: PropTypes.bool\n};\n\nProgressBar.defaultProps = {\n ...ProgressBar.defaultProps,\n min: 0,\n max: 100,\n active: false,\n isChild: false,\n srOnly: false,\n striped: false\n};\n\nexport default bsStyles(State.values(),\n bsClass('progress-bar',\n ProgressBar\n )\n);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/ProgressBar.js\n **/","import classNames from 'classnames';\nimport React, { PropTypes, cloneElement } from 'react';\n\nimport warning from 'warning';\n\nclass ResponsiveEmbed extends React.Component {\n render() {\n const { bsClass, className, a16by9, a4by3, children, ...props } = this.props;\n warning(!(!a16by9 && !a4by3), '`a16by9` or `a4by3` attribute must be set.');\n warning(!(a16by9 && a4by3), 'Either `a16by9` or `a4by3` attribute can be set. Not both.');\n\n const aspectRatio = {\n 'embed-responsive-16by9': a16by9,\n 'embed-responsive-4by3': a4by3\n };\n\n return (\n \n {cloneElement(children, {\n ...props,\n className: classNames(className, 'embed-responsive-item')\n })}\n
\n );\n }\n}\n\nResponsiveEmbed.defaultProps = {\n bsClass: 'embed-responsive',\n a16by9: false,\n a4by3: false\n};\n\nResponsiveEmbed.propTypes = {\n /**\n * bootstrap className\n * @private\n */\n bsClass: PropTypes.string,\n /**\n * This component accepts only one child element\n */\n children: PropTypes.element.isRequired,\n /**\n * 16by9 aspect ratio\n */\n a16by9: PropTypes.bool,\n /**\n * 4by3 aspect ratio\n */\n a4by3: PropTypes.bool\n};\n\nexport default ResponsiveEmbed;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/ResponsiveEmbed.js\n **/","import React from 'react';\nimport classNames from 'classnames';\nimport elementType from 'react-prop-types/lib/elementType';\n\nconst Row = React.createClass({\n propTypes: {\n /**\n * You can use a custom element for this component\n */\n componentClass: elementType\n },\n\n getDefaultProps() {\n return {\n componentClass: 'div'\n };\n },\n\n render() {\n let ComponentClass = this.props.componentClass;\n\n return (\n \n {this.props.children}\n \n );\n }\n});\n\nexport default Row;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Row.js\n **/","import React from 'react';\nimport Button from './Button';\nimport Dropdown from './Dropdown';\nimport SplitToggle from './SplitToggle';\nimport omit from 'lodash-compat/object/omit';\nimport pick from 'lodash-compat/object/pick';\n\nclass SplitButton extends React.Component {\n\n render() {\n let {\n children,\n title,\n onClick,\n target,\n href,\n bsSize,\n bsStyle,\n ...props } = this.props;\n\n let { disabled } = props;\n\n let dropdownProps = pick(props, Object.keys(Dropdown.ControlledComponent.propTypes));\n let buttonProps = omit(props, Object.keys(Dropdown.ControlledComponent.propTypes));\n\n return (\n \n \n \n \n {children}\n \n \n );\n }\n}\n\nSplitButton.propTypes = {\n ...Dropdown.propTypes,\n bsStyle: Button.propTypes.bsStyle,\n\n /**\n * @private\n */\n onClick() {},\n target: React.PropTypes.string,\n href: React.PropTypes.string,\n /**\n * The content of the split button.\n */\n title: React.PropTypes.node.isRequired\n};\n\nSplitButton.defaultProps = {\n disabled: false,\n dropup: false,\n pullRight: false\n};\n\nSplitButton.Toggle = SplitToggle;\n\nexport default SplitButton;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/SplitButton.js\n **/","import React from 'react';\nimport DropdownToggle from './DropdownToggle';\n\nexport default class SplitToggle extends React.Component {\n render() {\n return (\n \n );\n }\n}\n\nSplitToggle.defaultProps = DropdownToggle.defaultProps;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/SplitToggle.js\n **/","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport tbsUtils from './utils/bootstrapUtils';\nimport TransitionEvents from './utils/TransitionEvents';\n\nconst Tab = React.createClass({\n propTypes: {\n /**\n * @private\n */\n active: React.PropTypes.bool,\n animation: React.PropTypes.bool,\n /**\n * It is used by 'Tabs' - parent component\n * @private\n */\n onAnimateOutEnd: React.PropTypes.func,\n disabled: React.PropTypes.bool,\n title: React.PropTypes.node,\n /**\n * tabClassName is used as className for the associated NavItem\n */\n tabClassName: React.PropTypes.string\n },\n\n getDefaultProps() {\n return {\n bsClass: 'tab',\n animation: true\n };\n },\n\n getInitialState() {\n return {\n animateIn: false,\n animateOut: false\n };\n },\n\n componentWillReceiveProps(nextProps) {\n if (this.props.animation) {\n if (!this.state.animateIn && nextProps.active && !this.props.active) {\n this.setState({\n animateIn: true\n });\n } else if (!this.state.animateOut && !nextProps.active && this.props.active) {\n this.setState({\n animateOut: true\n });\n }\n }\n },\n\n componentDidUpdate() {\n if (this.state.animateIn) {\n setTimeout(this.startAnimateIn, 0);\n }\n if (this.state.animateOut) {\n TransitionEvents.addEndEventListener(\n ReactDOM.findDOMNode(this),\n this.stopAnimateOut\n );\n }\n },\n\n startAnimateIn() {\n if (this.isMounted()) {\n this.setState({\n animateIn: false\n });\n }\n },\n\n stopAnimateOut() {\n if (this.isMounted()) {\n this.setState({\n animateOut: false\n });\n\n if (this.props.onAnimateOutEnd) {\n this.props.onAnimateOutEnd();\n }\n }\n },\n\n render() {\n let classes = {\n [tbsUtils.prefix(this.props, 'pane')]: true,\n 'fade': true,\n 'active': this.props.active || this.state.animateOut,\n 'in': this.props.active && !this.state.animateIn\n };\n\n return (\n \n {this.props.children}\n
\n );\n }\n});\n\nexport default Tab;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Tab.js\n **/","import React from 'react';\nimport classNames from 'classnames';\n\nconst Table = React.createClass({\n propTypes: {\n striped: React.PropTypes.bool,\n bordered: React.PropTypes.bool,\n condensed: React.PropTypes.bool,\n hover: React.PropTypes.bool,\n responsive: React.PropTypes.bool\n },\n\n getDefaultProps() {\n return {\n bordered: false,\n condensed: false,\n hover: false,\n responsive: false,\n striped: false\n };\n },\n\n render() {\n let classes = {\n 'table': true,\n 'table-striped': this.props.striped,\n 'table-bordered': this.props.bordered,\n 'table-condensed': this.props.condensed,\n 'table-hover': this.props.hover\n };\n let table = (\n \n {this.props.children}\n
\n );\n\n return this.props.responsive ? (\n \n {table}\n
\n ) : table;\n }\n});\n\nexport default Table;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Table.js\n **/","import classNames from 'classnames';\nimport React, { cloneElement } from 'react';\nimport ReactDOM from 'react-dom';\nimport Col from './Col';\nimport Nav from './Nav';\nimport NavItem from './NavItem';\nimport styleMaps from './styleMaps';\nimport keycode from 'keycode';\nimport createChainedFunction from './utils/createChainedFunction';\nimport tbsUtils from './utils/bootstrapUtils';\nimport ValidComponentChildren from './utils/ValidComponentChildren';\n\nlet paneId = (props, child) => child.props.id ? child.props.id : props.id && (props.id + '___pane___' + child.props.eventKey);\nlet tabId = (props, child) => child.props.id ? child.props.id + '___tab' : props.id && (props.id + '___tab___' + child.props.eventKey);\n\nlet findChild = ValidComponentChildren.find;\n\nfunction getDefaultActiveKeyFromChildren(children) {\n let defaultActiveKey;\n\n ValidComponentChildren.forEach(children, child => {\n if (defaultActiveKey == null) {\n defaultActiveKey = child.props.eventKey;\n }\n });\n\n return defaultActiveKey;\n}\n\nfunction move(children, currentKey, keys, moveNext) {\n let lastIdx = keys.length - 1;\n let stopAt = keys[moveNext ? Math.max(lastIdx, 0) : 0];\n let nextKey = currentKey;\n\n function getNext() {\n let idx = keys.indexOf(nextKey);\n nextKey = moveNext\n ? keys[Math.min(lastIdx, idx + 1)]\n : keys[Math.max(0, idx - 1)];\n\n return findChild(children,\n _child => _child.props.eventKey === nextKey);\n }\n\n let next = getNext();\n\n while (next.props.eventKey !== stopAt && next.props.disabled) {\n next = getNext();\n }\n\n return next.props.disabled ? currentKey : next.props.eventKey;\n}\n\nconst Tabs = React.createClass({\n propTypes: {\n activeKey: React.PropTypes.any,\n defaultActiveKey: React.PropTypes.any,\n /**\n * Navigation style for tabs\n *\n * If not specified, it will be treated as `'tabs'` when vertically\n * positioned and `'pills'` when horizontally positioned.\n */\n bsStyle: React.PropTypes.oneOf(['tabs', 'pills']),\n animation: React.PropTypes.bool,\n id: React.PropTypes.oneOfType([\n React.PropTypes.string,\n React.PropTypes.number\n ]),\n onSelect: React.PropTypes.func,\n position: React.PropTypes.oneOf(['top', 'left', 'right']),\n /**\n * Number of grid columns for the tabs if horizontally positioned\n *\n * This accepts either a single width or a mapping of size to width.\n */\n tabWidth: React.PropTypes.oneOfType([\n React.PropTypes.number,\n React.PropTypes.object\n ]),\n /**\n * Number of grid columns for the panes if horizontally positioned\n *\n * This accepts either a single width or a mapping of size to width. If not\n * specified, it will be treated as `styleMaps.GRID_COLUMNS` minus\n * `tabWidth`.\n */\n paneWidth: React.PropTypes.oneOfType([\n React.PropTypes.number,\n React.PropTypes.object\n ]),\n /**\n * Render without clearfix if horizontally positioned\n */\n standalone: React.PropTypes.bool\n },\n\n getDefaultProps() {\n return {\n bsClass: 'tab',\n animation: true,\n tabWidth: 2,\n position: 'top',\n standalone: false\n };\n },\n\n getInitialState() {\n let defaultActiveKey = this.props.defaultActiveKey != null ?\n this.props.defaultActiveKey : getDefaultActiveKeyFromChildren(this.props.children);\n\n return {\n activeKey: defaultActiveKey,\n previousActiveKey: null\n };\n },\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.activeKey != null && nextProps.activeKey !== this.props.activeKey) {\n // check if the 'previousActiveKey' child still exists\n let previousActiveKey = this.props.activeKey;\n React.Children.forEach(nextProps.children, (child) => {\n if (React.isValidElement(child)) {\n if (child.props.eventKey === previousActiveKey) {\n this.setState({\n previousActiveKey\n });\n return;\n }\n }\n });\n }\n },\n\n componentDidUpdate() {\n let tabs = this._tabs;\n let tabIdx = this._eventKeys().indexOf(this.getActiveKey());\n\n if (this._needsRefocus) {\n this._needsRefocus = false;\n if (tabs && tabIdx !== -1) {\n let tabNode = ReactDOM.findDOMNode(tabs[tabIdx]);\n\n if (tabNode) {\n tabNode.firstChild.focus();\n }\n }\n }\n },\n\n handlePaneAnimateOutEnd() {\n this.setState({\n previousActiveKey: null\n });\n },\n\n render() {\n let {\n id,\n className,\n style,\n position,\n bsStyle,\n tabWidth,\n paneWidth,\n standalone,\n children,\n ...props\n } = this.props;\n\n const isHorizontal = position === 'left' || position === 'right';\n\n if (bsStyle == null) {\n bsStyle = isHorizontal ? 'pills' : 'tabs';\n }\n\n const containerProps = {id, className, style};\n\n const tabsProps = {\n ...props,\n bsStyle,\n bsClass: undefined,\n stacked: isHorizontal,\n activeKey: this.getActiveKey(),\n onSelect: this.handleSelect,\n ref: 'tabs',\n role: 'tablist'\n };\n const childTabs = ValidComponentChildren.map(children, this.renderTab);\n\n const panesProps = {\n className: tbsUtils.prefix(this.props, 'content'),\n ref: 'panes'\n };\n const childPanes = ValidComponentChildren.map(children, this.renderPane);\n\n if (isHorizontal) {\n if (!standalone) {\n containerProps.className =\n classNames(containerProps.className, 'clearfix');\n }\n\n const {tabsColProps, panesColProps} =\n this.getColProps({tabWidth, paneWidth});\n\n const tabs = (\n \n {childTabs}\n \n );\n const panes = (\n \n {childPanes}\n \n );\n\n if (position === 'left') {\n return (\n \n {tabs}\n {panes}\n
\n );\n }\n\n return (\n \n {panes}\n {tabs}\n
\n );\n }\n\n return (\n \n
\n\n
\n {childPanes}\n
\n
\n );\n },\n\n getActiveKey() {\n return this.props.activeKey !== undefined ? this.props.activeKey : this.state.activeKey;\n },\n\n renderPane(child, index) {\n let previousActiveKey = this.state.previousActiveKey;\n\n let shouldPaneBeSetActive = child.props.eventKey === this.getActiveKey();\n let thereIsNoActivePane = previousActiveKey == null;\n\n let paneIsAlreadyActive = previousActiveKey != null && child.props.eventKey === previousActiveKey;\n\n return cloneElement(\n child,\n {\n active: shouldPaneBeSetActive && (thereIsNoActivePane || !this.props.animation),\n id: paneId(this.props, child),\n 'aria-labelledby': tabId(this.props, child),\n key: child.key ? child.key : index,\n animation: this.props.animation,\n onAnimateOutEnd: paneIsAlreadyActive ? this.handlePaneAnimateOutEnd : null\n }\n );\n },\n\n renderTab(child, index) {\n if (child.props.title == null) {\n return null;\n }\n\n let { eventKey, title, disabled, onKeyDown, tabClassName, tabIndex = 0 } = child.props;\n let isActive = this.getActiveKey() === eventKey;\n\n return (\n (this._tabs || (this._tabs = []))[index] = ref}\n aria-controls={paneId(this.props, child)}\n onKeyDown={createChainedFunction(this.handleKeyDown, onKeyDown)}\n eventKey={eventKey}\n tabIndex={isActive ? tabIndex : -1}\n disabled={disabled }\n className={tabClassName}>\n {title}\n \n );\n },\n\n getColProps({tabWidth, paneWidth}) {\n let tabsColProps;\n if (tabWidth instanceof Object) {\n tabsColProps = tabWidth;\n } else {\n tabsColProps = {xs: tabWidth};\n }\n\n let panesColProps;\n if (paneWidth == null) {\n panesColProps = {};\n Object.keys(tabsColProps).forEach( size => {\n panesColProps[size] = styleMaps.GRID_COLUMNS - tabsColProps[size];\n });\n } else if (paneWidth instanceof Object) {\n panesColProps = paneWidth;\n } else {\n panesColProps = {xs: paneWidth};\n }\n\n return {tabsColProps, panesColProps};\n },\n\n shouldComponentUpdate() {\n // Defer any updates to this component during the `onSelect` handler.\n return !this._isChanging;\n },\n\n handleSelect(selectedKey) {\n if (this.props.onSelect) {\n this._isChanging = true;\n this.props.onSelect(selectedKey);\n this._isChanging = false;\n return;\n }\n\n // if there is no external handler, then use embedded one\n let previousActiveKey = this.getActiveKey();\n if (selectedKey !== previousActiveKey) {\n this.setState({\n activeKey: selectedKey,\n previousActiveKey\n });\n }\n },\n\n handleKeyDown(event) {\n let keys = this._eventKeys();\n let currentKey = this.getActiveKey() || keys[0];\n let next;\n\n switch (event.keyCode) {\n\n case keycode.codes.left:\n case keycode.codes.up:\n next = move(this.props.children, currentKey, keys, false);\n\n if (next && next !== currentKey) {\n event.preventDefault();\n this.handleSelect(next);\n this._needsRefocus = true;\n }\n break;\n case keycode.codes.right:\n case keycode.codes.down:\n next = move(this.props.children, currentKey, keys, true);\n\n if (next && next !== currentKey) {\n event.preventDefault();\n this.handleSelect(next);\n this._needsRefocus = true;\n }\n break;\n default:\n }\n },\n\n _eventKeys() {\n let keys = [];\n\n ValidComponentChildren.forEach(this.props.children,\n ({props: { eventKey }}) => keys.push(eventKey));\n\n return keys;\n }\n});\n\nexport default Tabs;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Tabs.js\n **/","import React from 'react';\nimport classSet from 'classnames';\nimport SafeAnchor from './SafeAnchor';\nimport bootstrapUtils, { bsClass } from './utils/bootstrapUtils';\n\nconst Thumbnail = React.createClass({\n\n propTypes: {\n alt: React.PropTypes.string,\n href: React.PropTypes.string,\n src: React.PropTypes.string\n },\n\n render() {\n let classes = bootstrapUtils.getClassSet(this.props);\n\n if (this.props.href) {\n return (\n \n \n \n );\n }\n\n if (this.props.children) {\n return (\n \n
\n
\n {this.props.children}\n
\n
\n );\n }\n\n return (\n \n
\n
\n );\n }\n});\n\nexport default bsClass('thumbnail', Thumbnail);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Thumbnail.js\n **/","import React from 'react';\nimport classNames from 'classnames';\nimport tbsUtils from './utils/bootstrapUtils';\nimport isRequiredForA11y from 'react-prop-types/lib/isRequiredForA11y';\n\nconst Tooltip = React.createClass({\n\n propTypes: {\n /**\n * An html id attribute, necessary for accessibility\n * @type {string}\n * @required\n */\n id: isRequiredForA11y(\n React.PropTypes.oneOfType([\n React.PropTypes.string,\n React.PropTypes.number\n ])\n ),\n\n /**\n * Sets the direction the Tooltip is positioned towards.\n */\n placement: React.PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * The \"left\" position value for the Tooltip.\n */\n positionLeft: React.PropTypes.number,\n /**\n * The \"top\" position value for the Tooltip.\n */\n positionTop: React.PropTypes.number,\n /**\n * The \"left\" position value for the Tooltip arrow.\n */\n arrowOffsetLeft: React.PropTypes.oneOfType([\n React.PropTypes.number, React.PropTypes.string\n ]),\n /**\n * The \"top\" position value for the Tooltip arrow.\n */\n arrowOffsetTop: React.PropTypes.oneOfType([\n React.PropTypes.number, React.PropTypes.string\n ]),\n /**\n * Title text\n */\n title: React.PropTypes.node\n },\n\n getDefaultProps() {\n return {\n bsClass: 'tooltip',\n placement: 'right'\n };\n },\n\n render() {\n const classes = {\n [tbsUtils.prefix(this.props)]: true,\n [this.props.placement]: true\n };\n\n const style = {\n 'left': this.props.positionLeft,\n 'top': this.props.positionTop,\n ...this.props.style\n };\n\n const arrowStyle = {\n 'left': this.props.arrowOffsetLeft,\n 'top': this.props.arrowOffsetTop\n };\n\n return (\n \n
\n
\n {this.props.children}\n
\n
\n );\n }\n});\n\nexport default Tooltip;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Tooltip.js\n **/","import React from 'react';\nimport classNames from 'classnames';\nimport bootstrapUtils, { bsSizes, bsClass } from './utils/bootstrapUtils';\nimport { Sizes } from './styleMaps';\n\n@bsClass('well')\n@bsSizes([Sizes.LARGE, Sizes.SMALL])\nclass Well extends React.Component {\n render() {\n let classes = bootstrapUtils.getClassSet(this.props);\n\n return (\n \n {this.props.children}\n
\n );\n }\n}\n\nexport default Well;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/Well.js\n **/","import React from 'react';\nimport classNames from 'classnames';\nimport deprecated from 'react-prop-types/lib/deprecated';\nimport elementType from 'react-prop-types/lib/elementType';\n\nimport Grid from '../Grid';\nimport NavBrand from '../NavBrand';\n\nimport tbsUtils, { bsClass, bsStyles } from '../utils/bootstrapUtils';\nimport { DEFAULT, INVERSE } from '../styleMaps';\nimport createChainedFunction from '../utils/createChainedFunction';\nimport ValidComponentChildren from '../utils/ValidComponentChildren';\n\nconst Navbar = React.createClass({\n\n propTypes: {\n fixedTop: React.PropTypes.bool,\n fixedBottom: React.PropTypes.bool,\n staticTop: React.PropTypes.bool,\n inverse: React.PropTypes.bool,\n fluid: React.PropTypes.bool,\n role: React.PropTypes.string,\n /**\n * You can use a custom element for this component\n */\n componentClass: elementType,\n brand: deprecated(React.PropTypes.node, 'Use the `NavBrand` component.'),\n toggleButton: React.PropTypes.node,\n toggleNavKey: React.PropTypes.oneOfType([\n React.PropTypes.string,\n React.PropTypes.number\n ]),\n onToggle: React.PropTypes.func,\n navExpanded: React.PropTypes.bool,\n defaultNavExpanded: React.PropTypes.bool\n },\n\n // TODO Remove in 0.29\n childContextTypes: {\n $bs_deprecated_navbar: React.PropTypes.bool\n },\n\n getChildContext() {\n return {\n $bs_deprecated_navbar: true\n };\n },\n\n getDefaultProps() {\n return {\n role: 'navigation',\n componentClass: 'nav',\n fixedTop: false,\n fixedBottom: false,\n staticTop: false,\n inverse: false,\n fluid: false,\n defaultNavExpanded: false\n };\n },\n\n getInitialState() {\n return {\n navExpanded: this.props.defaultNavExpanded\n };\n },\n\n shouldComponentUpdate() {\n // Defer any updates to this component during the `onSelect` handler.\n return !this._isChanging;\n },\n\n handleToggle() {\n if (this.props.onToggle) {\n this._isChanging = true;\n this.props.onToggle();\n this._isChanging = false;\n }\n\n this.setState({\n navExpanded: !this.state.navExpanded\n });\n },\n\n isNavExpanded() {\n return this.props.navExpanded != null ? this.props.navExpanded : this.state.navExpanded;\n },\n\n hasNavBrandChild() {\n return ValidComponentChildren.findValidComponents(\n this.props.children, child => child.props.bsRole === 'brand'\n ).length > 0;\n },\n\n render() {\n const {\n brand,\n toggleButton,\n toggleNavKey,\n fixedTop,\n fixedBottom,\n staticTop,\n inverse,\n componentClass: ComponentClass,\n fluid,\n className,\n children,\n ...props\n } = this.props;\n\n // will result in some false positives but that seems better\n // than false negatives. strict `undefined` check allows explicit\n // \"nulling\" of the role if the user really doesn't want one\n if (props.role === undefined && ComponentClass !== 'nav') {\n props.role = 'navigation';\n }\n\n const classes = tbsUtils.getClassSet(this.props);\n\n classes[tbsUtils.prefix(this.props, 'fixed-top')] = this.props.fixedTop;\n classes[tbsUtils.prefix(this.props, 'fixed-bottom')] = this.props.fixedBottom;\n classes[tbsUtils.prefix(this.props, 'static-top')] = this.props.staticTop;\n\n // handle built-in styles manually to provide the convenience `inverse` prop\n classes[tbsUtils.prefix(this.props, INVERSE)] = this.props.inverse;\n classes[tbsUtils.prefix(this.props, DEFAULT)] = !this.props.inverse;\n\n const showHeader =\n (brand || toggleButton || toggleNavKey != null) &&\n !this.hasNavBrandChild();\n\n return (\n \n \n {showHeader ? this.renderBrandHeader() : null}\n {ValidComponentChildren.map(children, this.renderChild)}\n \n \n );\n },\n\n renderBrandHeader() {\n let {brand} = this.props;\n if (brand) {\n brand = {brand};\n }\n\n return this.renderHeader(brand);\n },\n\n\n renderHeader(brand) {\n const hasToggle = this.props.toggleButton || this.props.toggleNavKey != null;\n const headerClass = tbsUtils.prefix(this.props, 'header');\n\n return (\n \n {brand}\n {hasToggle ? this.renderToggleButton() : null}\n
\n );\n },\n\n renderChild(child, index) {\n const key = child.key != null ? child.key : index;\n\n if (child.props.bsRole === 'brand') {\n return React.cloneElement(this.renderHeader(child), {key});\n }\n\n const {toggleNavKey} = this.props;\n const collapsible =\n toggleNavKey != null && toggleNavKey === child.props.eventKey;\n\n return React.cloneElement(child, {\n navbar: true,\n collapsible,\n expanded: collapsible && this.isNavExpanded(),\n key\n });\n },\n\n renderToggleButton() {\n const {toggleButton} = this.props;\n const toggleClass = tbsUtils.prefix(this.props, 'toggle');\n\n if (React.isValidElement(toggleButton)) {\n return React.cloneElement(toggleButton, {\n className: classNames(toggleButton.props.className, toggleClass),\n onClick: createChainedFunction(\n this.handleToggle, toggleButton.props.onClick\n )\n });\n }\n\n let children;\n if (toggleButton != null) {\n children = toggleButton;\n } else {\n children = [\n Toggle navigation,\n ,\n ,\n \n ];\n }\n\n return (\n \n );\n }\n\n});\n\nconst NAVBAR_STATES = [DEFAULT, INVERSE];\n\nexport default bsStyles(NAVBAR_STATES, DEFAULT,\n bsClass('navbar',\n Navbar\n )\n);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/deprecated/Navbar.js\n **/","import { createChainableTypeChecker } from 'react-prop-types/lib/common';\n\nimport childrenToArray from './childrenToArray';\n\nexport default {\n\n requiredRoles(...roles) {\n return createChainableTypeChecker(\n function requiredRolesValidator(props, propName, component) {\n let missing;\n let children = childrenToArray(props.children);\n\n let inRole = (role, child) => role === child.props.bsRole;\n\n roles.every(role => {\n if (!children.some(child => inRole(role, child))) {\n missing = role;\n return false;\n }\n return true;\n });\n\n if (missing) {\n return new Error(`(children) ${component} - Missing a required child with bsRole: ${missing}. ` +\n `${component} must have at least one child of each of the following bsRoles: ${roles.join(', ')}`);\n }\n });\n },\n\n exclusiveRoles(...roles) {\n return createChainableTypeChecker(\n function exclusiveRolesValidator(props, propName, component) {\n let children = childrenToArray(props.children);\n let duplicate;\n\n roles.every(role => {\n let childrenWithRole = children.filter(child => child.props.bsRole === role);\n\n if (childrenWithRole.length > 1) {\n duplicate = role;\n return false;\n }\n return true;\n });\n\n if (duplicate) {\n return new Error(\n `(children) ${component} - Duplicate children detected of bsRole: ${duplicate}. ` +\n `Only one child each allowed with the following bsRoles: ${roles.join(', ')}`);\n }\n });\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/CustomPropTypes.js\n **/","import validChildren from './ValidComponentChildren';\n\nexport default function childrenAsArray(children) {\n let result = [];\n\n if (children === undefined) {\n return result;\n }\n\n validChildren.forEach(children, child => {\n result.push(child);\n });\n\n return result;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/childrenToArray.js\n **/","export default function createSelectedEvent(eventKey) {\n let selectionPrevented = false;\n\n return {\n eventKey,\n\n preventSelection() {\n selectionPrevented = true;\n },\n\n isSelectionPrevented() {\n return selectionPrevented;\n }\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/createSelectedEvent.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/set-prototype-of.js\n ** module id = 172\n ** module chunks = 0\n **/","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/$.core').Object.assign;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/fn/object/assign.js\n ** module id = 173\n ** module chunks = 0\n **/","var $ = require('../../modules/$');\nmodule.exports = function create(P, D){\n return $.create(P, D);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/fn/object/create.js\n ** module id = 174\n ** module chunks = 0\n **/","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/$.core').Object.keys;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/fn/object/keys.js\n ** module id = 175\n ** module chunks = 0\n **/","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.setPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/fn/object/set-prototype-of.js\n ** module id = 176\n ** module chunks = 0\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.a-function.js\n ** module id = 177\n ** module chunks = 0\n **/","var isObject = require('./$.is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.an-object.js\n ** module id = 178\n ** module chunks = 0\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.cof.js\n ** module id = 179\n ** module chunks = 0\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.defined.js\n ** module id = 180\n ** module chunks = 0\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.global.js\n ** module id = 181\n ** module chunks = 0\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./$.cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.iobject.js\n ** module id = 182\n ** module chunks = 0\n **/","// 19.1.2.1 Object.assign(target, source, ...)\nvar $ = require('./$')\n , toObject = require('./$.to-object')\n , IObject = require('./$.iobject');\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = require('./$.fails')(function(){\n var a = Object.assign\n , A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , $$ = arguments\n , $$len = $$.length\n , index = 1\n , getKeys = $.getKeys\n , getSymbols = $.getSymbols\n , isEnum = $.isEnum;\n while($$len > index){\n var S = IObject($$[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n }\n return T;\n} : Object.assign;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.object-assign.js\n ** module id = 183\n ** module chunks = 0\n **/","// most Object methods by ES6 should accept primitives\nvar $export = require('./$.export')\n , core = require('./$.core')\n , fails = require('./$.fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.object-sap.js\n ** module id = 184\n ** module chunks = 0\n **/","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar getDesc = require('./$').getDesc\n , isObject = require('./$.is-object')\n , anObject = require('./$.an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.set-proto.js\n ** module id = 185\n ** module chunks = 0\n **/","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./$.export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./$.object-assign')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/es6.object.assign.js\n ** module id = 186\n ** module chunks = 0\n **/","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./$.to-object');\n\nrequire('./$.object-sap')('keys', function($keys){\n return function keys(it){\n return $keys(toObject(it));\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js\n ** module id = 187\n ** module chunks = 0\n **/","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./$.export');\n$export($export.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/es6.object.set-prototype-of.js\n ** module id = 188\n ** module chunks = 0\n **/","'use strict';\nvar hasClass = require('./hasClass');\n\nmodule.exports = function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element)) element.className = element.className + ' ' + className;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/class/addClass.js\n ** module id = 189\n ** module chunks = 0\n **/","'use strict';\n\nmodule.exports = {\n addClass: require('./addClass'),\n removeClass: require('./removeClass'),\n hasClass: require('./hasClass')\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/class/index.js\n ** module id = 190\n ** module chunks = 0\n **/","'use strict';\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else element.className = element.className.replace(new RegExp('(^|\\\\s)' + className + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/class/removeClass.js\n ** module id = 191\n ** module chunks = 0\n **/","'use strict';\n\nvar contains = require('../query/contains'),\n qsa = require('../query/querySelectorAll');\n\nmodule.exports = function (selector, handler) {\n return function (e) {\n var top = e.currentTarget,\n target = e.target,\n matches = qsa(top, selector);\n\n if (matches.some(function (match) {\n return contains(match, target);\n })) handler.call(this, e);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/events/filter.js\n ** module id = 192\n ** module chunks = 0\n **/","'use strict';\nvar on = require('./on'),\n off = require('./off'),\n filter = require('./filter');\n\nmodule.exports = { on: on, off: off, filter: filter };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/events/index.js\n ** module id = 193\n ** module chunks = 0\n **/","'use strict';\n\nvar babelHelpers = require('../util/babelHelpers.js');\n\nexports.__esModule = true;\nexports['default'] = offsetParent;\n\nvar _ownerDocument = require('../ownerDocument');\n\nvar _ownerDocument2 = babelHelpers.interopRequireDefault(_ownerDocument);\n\nvar _style = require('../style');\n\nvar _style2 = babelHelpers.interopRequireDefault(_style);\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction offsetParent(node) {\n var doc = (0, _ownerDocument2['default'])(node),\n offsetParent = node && node.offsetParent;\n\n while (offsetParent && nodeName(node) !== 'html' && (0, _style2['default'])(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n\n return offsetParent || doc.documentElement;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/offsetParent.js\n ** module id = 194\n ** module chunks = 0\n **/","'use strict';\n\nvar babelHelpers = require('../util/babelHelpers.js');\n\nexports.__esModule = true;\nexports['default'] = position;\n\nvar _offset = require('./offset');\n\nvar _offset2 = babelHelpers.interopRequireDefault(_offset);\n\nvar _offsetParent = require('./offsetParent');\n\nvar _offsetParent2 = babelHelpers.interopRequireDefault(_offsetParent);\n\nvar _scrollTop = require('./scrollTop');\n\nvar _scrollTop2 = babelHelpers.interopRequireDefault(_scrollTop);\n\nvar _scrollLeft = require('./scrollLeft');\n\nvar _scrollLeft2 = babelHelpers.interopRequireDefault(_scrollLeft);\n\nvar _style = require('../style');\n\nvar _style2 = babelHelpers.interopRequireDefault(_style);\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction position(node, offsetParent) {\n var parentOffset = { top: 0, left: 0 },\n offset;\n\n // Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n // because it is its only offset parent\n if ((0, _style2['default'])(node, 'position') === 'fixed') {\n offset = node.getBoundingClientRect();\n } else {\n offsetParent = offsetParent || (0, _offsetParent2['default'])(node);\n offset = (0, _offset2['default'])(node);\n\n if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset2['default'])(offsetParent);\n\n parentOffset.top += parseInt((0, _style2['default'])(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop2['default'])(offsetParent) || 0;\n parentOffset.left += parseInt((0, _style2['default'])(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft2['default'])(offsetParent) || 0;\n }\n\n // Subtract parent offsets and node margins\n return babelHelpers._extends({}, offset, {\n top: offset.top - parentOffset.top - (parseInt((0, _style2['default'])(node, 'marginTop'), 10) || 0),\n left: offset.left - parentOffset.left - (parseInt((0, _style2['default'])(node, 'marginLeft'), 10) || 0)\n });\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/position.js\n ** module id = 195\n ** module chunks = 0\n **/","'use strict';\n// Zepto.js\n// (c) 2010-2015 Thomas Fuchs\n// Zepto.js may be freely distributed under the MIT license.\nvar simpleSelectorRE = /^[\\w-]*$/,\n toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\n\nmodule.exports = function qsa(element, selector) {\n var maybeID = selector[0] === '#',\n maybeClass = selector[0] === '.',\n nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,\n isSimple = simpleSelectorRE.test(nameOnly),\n found;\n\n if (isSimple) {\n if (maybeID) {\n element = element.getElementById ? element : document;\n return (found = element.getElementById(nameOnly)) ? [found] : [];\n }\n\n if (element.getElementsByClassName && maybeClass) return toArray(element.getElementsByClassName(nameOnly));\n\n return toArray(element.getElementsByTagName(selector));\n }\n\n return toArray(element.querySelectorAll(selector));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/querySelectorAll.js\n ** module id = 196\n ** module chunks = 0\n **/","'use strict';\nvar getWindow = require('./isWindow');\n\nmodule.exports = function scrollTop(node, val) {\n var win = getWindow(node);\n\n if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft;\n\n if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/query/scrollLeft.js\n ** module id = 197\n ** module chunks = 0\n **/","'use strict';\n\nvar babelHelpers = require('../util/babelHelpers.js');\n\nvar _utilCamelizeStyle = require('../util/camelizeStyle');\n\nvar _utilCamelizeStyle2 = babelHelpers.interopRequireDefault(_utilCamelizeStyle);\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nmodule.exports = function _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n\n 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\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n\n prop = (0, _utilCamelizeStyle2['default'])(prop);\n\n if (prop == 'float') prop = 'styleFloat';\n\n var current = node.currentStyle[prop] || null;\n\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left;\n\n // Put in the new values to get a computed value out\n if (rsLeft) runStyle.left = node.currentStyle.left;\n\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px';\n\n // Revert the changed values\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/style/getComputedStyle.js\n ** module id = 198\n ** module chunks = 0\n **/","'use strict';\n\nmodule.exports = function removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/style/removeStyle.js\n ** module id = 199\n ** module chunks = 0\n **/","'use strict';\nvar canUseDOM = require('../util/inDOM');\n\nvar has = Object.prototype.hasOwnProperty,\n transform = 'transform',\n transition = {},\n transitionTiming,\n transitionDuration,\n transitionProperty,\n transitionDelay;\n\nif (canUseDOM) {\n transition = getTransitionProperties();\n\n transform = transition.prefix + transform;\n\n transitionProperty = transition.prefix + 'transition-property';\n transitionDuration = transition.prefix + 'transition-duration';\n transitionDelay = transition.prefix + 'transition-delay';\n transitionTiming = transition.prefix + 'transition-timing-function';\n}\n\nmodule.exports = {\n transform: transform,\n end: transition.end,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\n\nfunction getTransitionProperties() {\n var endEvent,\n prefix = '',\n transitions = {\n O: 'otransitionend',\n Moz: 'transitionend',\n Webkit: 'webkitTransitionEnd',\n ms: 'MSTransitionEnd'\n };\n\n var element = document.createElement('div');\n\n for (var vendor in transitions) if (has.call(transitions, vendor)) {\n if (element.style[vendor + 'TransitionProperty'] !== undefined) {\n prefix = '-' + vendor.toLowerCase() + '-';\n endEvent = transitions[vendor];\n break;\n }\n }\n\n if (!endEvent && element.style.transitionProperty !== undefined) endEvent = 'transitionend';\n\n return { end: endEvent, prefix: prefix };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/transition/properties.js\n ** module id = 200\n ** module chunks = 0\n **/","\"use strict\";\n\nvar rHyphen = /-(.)/g;\n\nmodule.exports = function camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/camelize.js\n ** module id = 201\n ** module chunks = 0\n **/","'use strict';\n\nvar rUpper = /([A-Z])/g;\n\nmodule.exports = function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/hyphenate.js\n ** module id = 202\n ** module chunks = 0\n **/","/**\r\n * Copyright 2013-2014, Facebook, Inc.\r\n * All rights reserved.\r\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\r\n */\n\n\"use strict\";\n\nvar hyphenate = require(\"./hyphenate\");\nvar msPattern = /^ms-/;\n\nmodule.exports = function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, \"-ms-\");\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dom-helpers/util/hyphenateStyle.js\n ** module id = 203\n ** module chunks = 0\n **/","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array ? array.length : 0;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/array/last.js\n ** module id = 204\n ** module chunks = 0\n **/","var baseEach = require('../internal/baseEach'),\n createFind = require('../internal/createFind');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is bound to `thisArg` and\n * invoked with three arguments: (value, index|key, collection).\n *\n * If a property name is provided for `predicate` the created `_.property`\n * style callback returns the property value of the given element.\n *\n * If a value is also provided for `thisArg` the created `_.matchesProperty`\n * style callback returns `true` for elements that have a matching property\n * value, else `false`.\n *\n * If an object is provided for `predicate` the created `_.matches` style\n * callback returns `true` for elements that have the properties of the given\n * object, else `false`.\n *\n * @static\n * @memberOf _\n * @alias detect\n * @category Collection\n * @param {Array|Object|string} collection The collection to search.\n * @param {Function|Object|string} [predicate=_.identity] The function invoked\n * per iteration.\n * @param {*} [thisArg] The `this` binding of `predicate`.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.result(_.find(users, function(chr) {\n * return chr.age < 40;\n * }), 'user');\n * // => 'barney'\n *\n * // using the `_.matches` callback shorthand\n * _.result(_.find(users, { 'age': 1, 'active': true }), 'user');\n * // => 'pebbles'\n *\n * // using the `_.matchesProperty` callback shorthand\n * _.result(_.find(users, 'active', false), 'user');\n * // => 'fred'\n *\n * // using the `_.property` callback shorthand\n * _.result(_.find(users, 'active'), 'user');\n * // => 'barney'\n */\nvar find = createFind(baseEach);\n\nmodule.exports = find;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/collection/find.js\n ** module id = 205\n ** module chunks = 0\n **/","var cachePush = require('./cachePush'),\n getNative = require('./getNative');\n\n/** Native method references. */\nvar Set = getNative(global, 'Set');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeCreate = getNative(Object, 'create');\n\n/**\n *\n * Creates a cache object to store unique values.\n *\n * @private\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var length = values ? values.length : 0;\n\n this.data = { 'hash': nativeCreate(null), 'set': new Set };\n while (length--) {\n this.push(values[length]);\n }\n}\n\n// Add functions to the `Set` cache.\nSetCache.prototype.push = cachePush;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/SetCache.js\n ** module id = 206\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/arrayEach.js\n ** module id = 207\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/arrayMap.js\n ** module id = 208\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/arrayPush.js\n ** module id = 209\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.some` for arrays without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/arraySome.js\n ** module id = 210\n ** module chunks = 0\n **/","var baseMatches = require('./baseMatches'),\n baseMatchesProperty = require('./baseMatchesProperty'),\n bindCallback = require('./bindCallback'),\n identity = require('../utility/identity'),\n property = require('../utility/property');\n\n/**\n * The base implementation of `_.callback` which supports specifying the\n * number of arguments to provide to `func`.\n *\n * @private\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction baseCallback(func, thisArg, argCount) {\n var type = typeof func;\n if (type == 'function') {\n return thisArg === undefined\n ? func\n : bindCallback(func, thisArg, argCount);\n }\n if (func == null) {\n return identity;\n }\n if (type == 'object') {\n return baseMatches(func);\n }\n return thisArg === undefined\n ? property(func)\n : baseMatchesProperty(func, thisArg);\n}\n\nmodule.exports = baseCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseCallback.js\n ** module id = 211\n ** module chunks = 0\n **/","var baseIndexOf = require('./baseIndexOf'),\n cacheIndexOf = require('./cacheIndexOf'),\n createCache = require('./createCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.difference` which accepts a single array\n * of values to exclude.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values) {\n var length = array ? array.length : 0,\n result = [];\n\n if (!length) {\n return result;\n }\n var index = -1,\n indexOf = baseIndexOf,\n isCommon = true,\n cache = (isCommon && values.length >= LARGE_ARRAY_SIZE) ? createCache(values) : null,\n valuesLength = values.length;\n\n if (cache) {\n indexOf = cacheIndexOf;\n isCommon = false;\n values = cache;\n }\n outer:\n while (++index < length) {\n var value = array[index];\n\n if (isCommon && value === value) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === value) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (indexOf(values, value, 0) < 0) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseDifference.js\n ** module id = 212\n ** module chunks = 0\n **/","var baseForOwn = require('./baseForOwn'),\n createBaseEach = require('./createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Array|Object|string} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object|string} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseEach.js\n ** module id = 213\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`,\n * without support for callback shorthands and `this` binding, which iterates\n * over `collection` using the provided `eachFunc`.\n *\n * @private\n * @param {Array|Object|string} collection The collection to search.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @param {boolean} [retKey] Specify returning the key of the found element\n * instead of the element itself.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\nfunction baseFind(collection, predicate, eachFunc, retKey) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = retKey ? key : value;\n return false;\n }\n });\n return result;\n}\n\nmodule.exports = baseFind;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseFind.js\n ** module id = 214\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for callback shorthands and `this` binding.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseFindIndex.js\n ** module id = 215\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keysIn = require('../object/keysIn');\n\n/**\n * The base implementation of `_.forIn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForIn(object, iteratee) {\n return baseFor(object, iteratee, keysIn);\n}\n\nmodule.exports = baseForIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseForIn.js\n ** module id = 216\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keys = require('../object/keys');\n\n/**\n * The base implementation of `_.forOwn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseForOwn.js\n ** module id = 217\n ** module chunks = 0\n **/","var indexOfNaN = require('./indexOfNaN');\n\n/**\n * The base implementation of `_.indexOf` without support for binary searches.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return indexOfNaN(array, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseIndexOf.js\n ** module id = 218\n ** module chunks = 0\n **/","var equalArrays = require('./equalArrays'),\n equalByTag = require('./equalByTag'),\n equalObjects = require('./equalObjects'),\n isArray = require('../lang/isArray'),\n isHostObject = require('./isHostObject'),\n isTypedArray = require('../lang/isTypedArray');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA=[]] Tracks traversed `value` objects.\n * @param {Array} [stackB=[]] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag == argsTag) {\n objTag = objectTag;\n } else if (objTag != objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag == argsTag) {\n othTag = objectTag;\n } else if (othTag != objectTag) {\n othIsArr = isTypedArray(other);\n }\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] == object) {\n return stackB[length] == other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nmodule.exports = baseIsEqualDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseIsEqualDeep.js\n ** module id = 219\n ** module chunks = 0\n **/","var baseIsEqual = require('./baseIsEqual'),\n toObject = require('./toObject');\n\n/**\n * The base implementation of `_.isMatch` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} matchData The propery names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparing objects.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = toObject(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var result = customizer ? customizer(objValue, srcValue, key) : undefined;\n if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseIsMatch.js\n ** module id = 220\n ** module chunks = 0\n **/","var baseIsMatch = require('./baseIsMatch'),\n getMatchData = require('./getMatchData'),\n toObject = require('./toObject');\n\n/**\n * The base implementation of `_.matches` which does not clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n var key = matchData[0][0],\n value = matchData[0][1];\n\n return function(object) {\n if (object == null) {\n return false;\n }\n object = toObject(object);\n return object[key] === value && (value !== undefined || (key in object));\n };\n }\n return function(object) {\n return baseIsMatch(object, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseMatches.js\n ** module id = 221\n ** module chunks = 0\n **/","var baseGet = require('./baseGet'),\n baseIsEqual = require('./baseIsEqual'),\n baseSlice = require('./baseSlice'),\n isArray = require('../lang/isArray'),\n isKey = require('./isKey'),\n isStrictComparable = require('./isStrictComparable'),\n last = require('../array/last'),\n toObject = require('./toObject'),\n toPath = require('./toPath');\n\n/**\n * The base implementation of `_.matchesProperty` which does not clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to compare.\n * @returns {Function} Returns the new function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n var isArr = isArray(path),\n isCommon = isKey(path) && isStrictComparable(srcValue),\n pathKey = (path + '');\n\n path = toPath(path);\n return function(object) {\n if (object == null) {\n return false;\n }\n var key = pathKey;\n object = toObject(object);\n if ((isArr || !isCommon) && !(key in object)) {\n object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));\n if (object == null) {\n return false;\n }\n key = last(path);\n object = toObject(object);\n }\n return object[key] === srcValue\n ? (srcValue !== undefined || (key in object))\n : baseIsEqual(srcValue, object[key], undefined, true);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseMatchesProperty.js\n ** module id = 222\n ** module chunks = 0\n **/","var baseGet = require('./baseGet'),\n toPath = require('./toPath');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction basePropertyDeep(path) {\n var pathKey = (path + '');\n path = toPath(path);\n return function(object) {\n return baseGet(object, path, pathKey);\n };\n}\n\nmodule.exports = basePropertyDeep;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/basePropertyDeep.js\n ** module id = 223\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n start = start == null ? 0 : (+start || 0);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : (+end || 0);\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseSlice.js\n ** module id = 224\n ** module chunks = 0\n **/","/**\n * Converts `value` to a string if it's not one. An empty string is returned\n * for `null` or `undefined` values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n return value == null ? '' : (value + '');\n}\n\nmodule.exports = baseToString;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/baseToString.js\n ** module id = 225\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Checks if `value` is in `cache` mimicking the return signature of\n * `_.indexOf` by returning `0` if the value is found, else `-1`.\n *\n * @private\n * @param {Object} cache The cache to search.\n * @param {*} value The value to search for.\n * @returns {number} Returns `0` if `value` is found, else `-1`.\n */\nfunction cacheIndexOf(cache, value) {\n var data = cache.data,\n result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value];\n\n return result ? 0 : -1;\n}\n\nmodule.exports = cacheIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/cacheIndexOf.js\n ** module id = 226\n ** module chunks = 0\n **/","var isObject = require('../lang/isObject');\n\n/**\n * Adds `value` to the cache.\n *\n * @private\n * @name push\n * @memberOf SetCache\n * @param {*} value The value to cache.\n */\nfunction cachePush(value) {\n var data = this.data;\n if (typeof value == 'string' || isObject(value)) {\n data.set.add(value);\n } else {\n data.hash[value] = true;\n }\n}\n\nmodule.exports = cachePush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/cachePush.js\n ** module id = 227\n ** module chunks = 0\n **/","var getLength = require('./getLength'),\n isLength = require('./isLength'),\n toObject = require('./toObject');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n var length = collection ? getLength(collection) : 0;\n if (!isLength(length)) {\n return eachFunc(collection, iteratee);\n }\n var index = fromRight ? length : -1,\n iterable = toObject(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/createBaseEach.js\n ** module id = 228\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/createBaseFor.js\n ** module id = 229\n ** module chunks = 0\n **/","var SetCache = require('./SetCache'),\n getNative = require('./getNative');\n\n/** Native method references. */\nvar Set = getNative(global, 'Set');\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a `Set` cache object to optimize linear searches of large arrays.\n *\n * @private\n * @param {Array} [values] The values to cache.\n * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.\n */\nfunction createCache(values) {\n return (nativeCreate && Set) ? new SetCache(values) : null;\n}\n\nmodule.exports = createCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/createCache.js\n ** module id = 230\n ** module chunks = 0\n **/","var baseCallback = require('./baseCallback'),\n baseFind = require('./baseFind'),\n baseFindIndex = require('./baseFindIndex'),\n isArray = require('../lang/isArray');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(eachFunc, fromRight) {\n return function(collection, predicate, thisArg) {\n predicate = baseCallback(predicate, thisArg, 3);\n if (isArray(collection)) {\n var index = baseFindIndex(collection, predicate, fromRight);\n return index > -1 ? collection[index] : undefined;\n }\n return baseFind(collection, predicate, eachFunc);\n };\n}\n\nmodule.exports = createFind;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/createFind.js\n ** module id = 231\n ** module chunks = 0\n **/","var arraySome = require('./arraySome');\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing arrays.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/equalArrays.js\n ** module id = 232\n ** module chunks = 0\n **/","/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n stringTag = '[object String]';\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n // Coerce dates and booleans to numbers, dates to milliseconds and booleans\n // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.\n return +object == +other;\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case numberTag:\n // Treat `NaN` vs. `NaN` as equal.\n return (object != +object)\n ? other != +other\n : object == +other;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings primitives and string\n // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.\n return object == (other + '');\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/equalByTag.js\n ** module id = 233\n ** module chunks = 0\n **/","var keys = require('../object/keys');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparing values.\n * @param {boolean} [isLoose] Specify performing partial comparisons.\n * @param {Array} [stackA] Tracks traversed `value` objects.\n * @param {Array} [stackB] Tracks traversed `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isLoose) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;\n\n // Recursively compare objects (susceptible to call stack limits).\n if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = equalObjects;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/equalObjects.js\n ** module id = 234\n ** module chunks = 0\n **/","var isStrictComparable = require('./isStrictComparable'),\n pairs = require('../object/pairs');\n\n/**\n * Gets the propery names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = pairs(object),\n length = result.length;\n\n while (length--) {\n result[length][2] = isStrictComparable(result[length][1]);\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/getMatchData.js\n ** module id = 235\n ** module chunks = 0\n **/","/**\n * Gets the index at which the first occurrence of `NaN` is found in `array`.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n */\nfunction indexOfNaN(array, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 0 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n var other = array[index];\n if (other !== other) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = indexOfNaN;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/indexOfNaN.js\n ** module id = 236\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('./isIndex'),\n isLength = require('./isLength'),\n isString = require('../lang/isString'),\n keysIn = require('../object/keysIn');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A fallback implementation of `Object.keys` which creates an array of the\n * own enumerable property names of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction shimKeys(object) {\n var props = keysIn(object),\n propsLength = props.length,\n length = propsLength && object.length;\n\n var allowIndexes = !!length && isLength(length) &&\n (isArray(object) || isArguments(object) || isString(object));\n\n var index = -1,\n result = [];\n\n while (++index < propsLength) {\n var key = props[index];\n if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = shimKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/internal/shimKeys.js\n ** module id = 237\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isHostObject = require('../internal/isHostObject'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && (isHostObject(value) ? reIsNative : reIsHostCtor).test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/lang/isNative.js\n ** module id = 238\n ** module chunks = 0\n **/","var isLength = require('../internal/isLength'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/lang/isTypedArray.js\n ** module id = 239\n ** module chunks = 0\n **/","var keys = require('./keys'),\n toObject = require('../internal/toObject');\n\n/**\n * Creates a two dimensional array of the key-value pairs for `object`,\n * e.g. `[[key1, value1], [key2, value2]]`.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the new array of key-value pairs.\n * @example\n *\n * _.pairs({ 'barney': 36, 'fred': 40 });\n * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)\n */\nfunction pairs(object) {\n object = toObject(object);\n\n var index = -1,\n props = keys(object),\n length = props.length,\n result = Array(length);\n\n while (++index < length) {\n var key = props[index];\n result[index] = [key, object[key]];\n }\n return result;\n}\n\nmodule.exports = pairs;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/object/pairs.js\n ** module id = 240\n ** module chunks = 0\n **/","var baseProperty = require('../internal/baseProperty'),\n basePropertyDeep = require('../internal/basePropertyDeep'),\n isKey = require('../internal/isKey');\n\n/**\n * Creates a function that returns the property value at `path` on a\n * given object.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': { 'c': 2 } } },\n * { 'a': { 'b': { 'c': 1 } } }\n * ];\n *\n * _.map(objects, _.property('a.b.c'));\n * // => [2, 1]\n *\n * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(path) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash-compat/utility/property.js\n ** module id = 241\n ** module chunks = 0\n **/","/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as an array.\n *\n * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/Web/JavaScript/Reference/Functions/rest_parameters).\n *\n * @static\n * @memberOf _\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.restParam(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction restParam(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n rest = Array(length);\n\n while (++index < length) {\n rest[index] = args[start + index];\n }\n switch (start) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, args[0], rest);\n case 2: return func.call(this, args[0], args[1], rest);\n }\n var otherArgs = Array(start + 1);\n index = -1;\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = rest;\n return func.apply(this, otherArgs);\n };\n}\n\nmodule.exports = restParam;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/function/restParam.js\n ** module id = 242\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/arrayPush.js\n ** module id = 243\n ** module chunks = 0\n **/","var arrayPush = require('./arrayPush'),\n isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.flatten` with added support for restricting\n * flattening and specifying the start index.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {boolean} [isDeep] Specify a deep flatten.\n * @param {boolean} [isStrict] Restrict flattening to arrays-like objects.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, isDeep, isStrict, result) {\n result || (result = []);\n\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index];\n if (isObjectLike(value) && isArrayLike(value) &&\n (isStrict || isArray(value) || isArguments(value))) {\n if (isDeep) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, isDeep, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFlatten.js\n ** module id = 244\n ** module chunks = 0\n **/","var createBaseFor = require('./createBaseFor');\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseFor.js\n ** module id = 245\n ** module chunks = 0\n **/","var baseFor = require('./baseFor'),\n keysIn = require('../object/keysIn');\n\n/**\n * The base implementation of `_.forIn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForIn(object, iteratee) {\n return baseFor(object, iteratee, keysIn);\n}\n\nmodule.exports = baseForIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseForIn.js\n ** module id = 246\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/baseProperty.js\n ** module id = 247\n ** module chunks = 0\n **/","var identity = require('../utility/identity');\n\n/**\n * A specialized version of `baseCallback` which only supports `this` binding\n * and specifying the number of arguments to provide to `func`.\n *\n * @private\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {number} [argCount] The number of arguments to provide to `func`.\n * @returns {Function} Returns the callback.\n */\nfunction bindCallback(func, thisArg, argCount) {\n if (typeof func != 'function') {\n return identity;\n }\n if (thisArg === undefined) {\n return func;\n }\n switch (argCount) {\n case 1: return function(value) {\n return func.call(thisArg, value);\n };\n case 3: return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(thisArg, accumulator, value, index, collection);\n };\n case 5: return function(value, other, key, object, source) {\n return func.call(thisArg, value, other, key, object, source);\n };\n }\n return function() {\n return func.apply(thisArg, arguments);\n };\n}\n\nmodule.exports = bindCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/bindCallback.js\n ** module id = 248\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * Creates a base function for `_.forIn` or `_.forInRight`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var iterable = toObject(object),\n props = keysFunc(object),\n length = props.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length)) {\n var key = props[index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/createBaseFor.js\n ** module id = 249\n ** module chunks = 0\n **/","var baseProperty = require('./baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)\n * that affects Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getLength.js\n ** module id = 250\n ** module chunks = 0\n **/","var isNative = require('../lang/isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/getNative.js\n ** module id = 251\n ** module chunks = 0\n **/","/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/isIndex.js\n ** module id = 252\n ** module chunks = 0\n **/","var toObject = require('./toObject');\n\n/**\n * A specialized version of `_.pick` which picks `object` properties specified\n * by `props`.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property names to pick.\n * @returns {Object} Returns the new object.\n */\nfunction pickByArray(object, props) {\n object = toObject(object);\n\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index];\n if (key in object) {\n result[key] = object[key];\n }\n }\n return result;\n}\n\nmodule.exports = pickByArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/pickByArray.js\n ** module id = 253\n ** module chunks = 0\n **/","var baseForIn = require('./baseForIn');\n\n/**\n * A specialized version of `_.pick` which picks `object` properties `predicate`\n * returns truthy for.\n *\n * @private\n * @param {Object} object The source object.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Object} Returns the new object.\n */\nfunction pickByCallback(object, predicate) {\n var result = {};\n baseForIn(object, function(value, key, object) {\n if (predicate(value, key, object)) {\n result[key] = value;\n }\n });\n return result;\n}\n\nmodule.exports = pickByCallback;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/internal/pickByCallback.js\n ** module id = 254\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]';\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isFunction.js\n ** module id = 255\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObjectLike = require('../internal/isObjectLike');\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/lang/isNative.js\n ** module id = 256\n ** module chunks = 0\n **/","var isArguments = require('../lang/isArguments'),\n isArray = require('../lang/isArray'),\n isIndex = require('../internal/isIndex'),\n isLength = require('../internal/isLength'),\n isObject = require('../lang/isObject');\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/keysIn.js\n ** module id = 257\n ** module chunks = 0\n **/","var baseFlatten = require('../internal/baseFlatten'),\n bindCallback = require('../internal/bindCallback'),\n pickByArray = require('../internal/pickByArray'),\n pickByCallback = require('../internal/pickByCallback'),\n restParam = require('../function/restParam');\n\n/**\n * Creates an object composed of the picked `object` properties. Property\n * names may be specified as individual arguments or as arrays of property\n * names. If `predicate` is provided it's invoked for each property of `object`\n * picking the properties `predicate` returns truthy for. The predicate is\n * bound to `thisArg` and invoked with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {Function|...(string|string[])} [predicate] The function invoked per\n * iteration or property names to pick, specified as individual property\n * names or arrays of property names.\n * @param {*} [thisArg] The `this` binding of `predicate`.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'user': 'fred', 'age': 40 };\n *\n * _.pick(object, 'user');\n * // => { 'user': 'fred' }\n *\n * _.pick(object, _.isString);\n * // => { 'user': 'fred' }\n */\nvar pick = restParam(function(object, props) {\n if (object == null) {\n return {};\n }\n return typeof props[0] == 'function'\n ? pickByCallback(object, bindCallback(props[0], props[1], 3))\n : pickByArray(object, baseFlatten(props));\n});\n\nmodule.exports = pick;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/object/pick.js\n ** module id = 258\n ** module chunks = 0\n **/","/**\n * This method returns the first argument provided to it.\n *\n * @static\n * @memberOf _\n * @category Utility\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.identity(object) === object;\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/utility/identity.js\n ** module id = 259\n ** module chunks = 0\n **/","/*eslint-disable react/prop-types */\n'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _reactPropTypesLibMountable = require('react-prop-types/lib/mountable');\n\nvar _reactPropTypesLibMountable2 = _interopRequireDefault(_reactPropTypesLibMountable);\n\nvar _reactPropTypesLibElementType = require('react-prop-types/lib/elementType');\n\nvar _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _ModalManager = require('./ModalManager');\n\nvar _ModalManager2 = _interopRequireDefault(_ModalManager);\n\nvar _utilsOwnerDocument = require('./utils/ownerDocument');\n\nvar _utilsOwnerDocument2 = _interopRequireDefault(_utilsOwnerDocument);\n\nvar _utilsAddEventListener = require('./utils/addEventListener');\n\nvar _utilsAddEventListener2 = _interopRequireDefault(_utilsAddEventListener);\n\nvar _utilsAddFocusListener = require('./utils/addFocusListener');\n\nvar _utilsAddFocusListener2 = _interopRequireDefault(_utilsAddFocusListener);\n\nvar _domHelpersUtilInDOM = require('dom-helpers/util/inDOM');\n\nvar _domHelpersUtilInDOM2 = _interopRequireDefault(_domHelpersUtilInDOM);\n\nvar _domHelpersActiveElement = require('dom-helpers/activeElement');\n\nvar _domHelpersActiveElement2 = _interopRequireDefault(_domHelpersActiveElement);\n\nvar _domHelpersQueryContains = require('dom-helpers/query/contains');\n\nvar _domHelpersQueryContains2 = _interopRequireDefault(_domHelpersQueryContains);\n\nvar _utilsGetContainer = require('./utils/getContainer');\n\nvar _utilsGetContainer2 = _interopRequireDefault(_utilsGetContainer);\n\nvar modalManager = new _ModalManager2['default']();\n\n/**\r\n * Love them or hate them, `` provides a solid foundation for creating dialogs, lightboxes, or whatever else.\r\n * The Modal component renders its `children` node in front of a backdrop component.\r\n *\r\n * The Modal offers a few helpful features over using just a `` component and some styles:\r\n *\r\n * - Manages dialog stacking when one-at-a-time just isn't enough.\r\n * - Creates a backdrop, for disabling interaction below the modal.\r\n * - It properly manages focus; moving to the modal content, and keeping it there until the modal is closed.\r\n * - It disables scrolling of the page content while open.\r\n * - Adds the appropriate ARIA roles are automatically.\r\n * - Easily pluggable animations via a `` component.\r\n *\r\n */\nvar Modal = _react2['default'].createClass({\n displayName: 'Modal',\n\n propTypes: _extends({}, _Portal2['default'].propTypes, {\n\n /**\r\n * A Node, Component instance, or function that returns either. The Modal is appended to it's container element.\r\n *\r\n * For the sake of assistive technologies, the container should usually be the document body, so that the rest of the\r\n * page content can be placed behind a virtual backdrop as well as a visual one.\r\n */\n container: _react2['default'].PropTypes.oneOfType([_reactPropTypesLibMountable2['default'], _react2['default'].PropTypes.func]),\n\n /**\r\n * A callback fired when the Modal is opening.\r\n */\n onShow: _react2['default'].PropTypes.func,\n\n /**\r\n * A callback fired when either the backdrop is clicked, or the escape key is pressed.\r\n */\n onHide: _react2['default'].PropTypes.func,\n\n /**\r\n * Include a backdrop component.\r\n */\n backdrop: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.bool, _react2['default'].PropTypes.oneOf(['static'])]),\n\n /**\r\n * A callback fired when the escape key, if specified in `keyboard`, is pressed.\r\n */\n onEscapeKeyUp: _react2['default'].PropTypes.func,\n\n /**\r\n * A callback fired when the backdrop, if specified, is clicked.\r\n */\n onBackdropClick: _react2['default'].PropTypes.func,\n\n /**\r\n * A style object for the backdrop component.\r\n */\n backdropStyle: _react2['default'].PropTypes.object,\n\n /**\r\n * A css class or classes for the backdrop component.\r\n */\n backdropClassName: _react2['default'].PropTypes.string,\n\n /**\r\n * A css class or set of classes applied to the modal container when the modal is open,\r\n * and removed when it is closed.\r\n */\n containerClassName: _react2['default'].PropTypes.string,\n\n /**\r\n * Close the modal when escape key is pressed\r\n */\n keyboard: _react2['default'].PropTypes.bool,\n\n /**\r\n * A `` component to use for the dialog and backdrop components.\r\n */\n transition: _reactPropTypesLibElementType2['default'],\n\n /**\r\n * The `timeout` of the dialog transition if specified. This number is used to ensure that transition callbacks are always\r\n * fired, even if browser transition events are canceled.\r\n *\r\n * See the Transition `timeout` prop for more infomation.\r\n */\n dialogTransitionTimeout: _react2['default'].PropTypes.number,\n\n /**\r\n * The `timeout` of the backdrop transition if specified. This number is used to ensure that transition callbacks are always\r\n * fired, even if browser transition events are canceled.\r\n *\r\n * See the Transition `timeout` prop for more infomation.\r\n */\n backdropTransitionTimeout: _react2['default'].PropTypes.number,\n\n /**\r\n * When `true` The modal will automatically shift focus to itself when it opens, and replace it to the last focused element when it closes.\r\n * Generally this should never be set to false as it makes the Modal less accessible to assistive technologies, like screen readers.\r\n */\n autoFocus: _react2['default'].PropTypes.bool,\n\n /**\r\n * When `true` The modal will prevent focus from leaving the Modal while open.\r\n * Generally this should never be set to false as it makes the Modal less accessible to assistive technologies, like screen readers.\r\n */\n enforceFocus: _react2['default'].PropTypes.bool\n\n }),\n\n getDefaultProps: function getDefaultProps() {\n var noop = function noop() {};\n\n return {\n show: false,\n backdrop: true,\n keyboard: true,\n autoFocus: true,\n enforceFocus: true,\n onHide: noop\n };\n },\n\n getInitialState: function getInitialState() {\n return { exited: !this.props.show };\n },\n\n render: function render() {\n var _this = this;\n\n var _props = this.props;\n var children = _props.children;\n var Transition = _props.transition;\n var backdrop = _props.backdrop;\n var dialogTransitionTimeout = _props.dialogTransitionTimeout;\n\n var props = _objectWithoutProperties(_props, ['children', 'transition', 'backdrop', 'dialogTransitionTimeout']);\n\n var onExit = props.onExit;\n var onExiting = props.onExiting;\n var onEnter = props.onEnter;\n var onEntering = props.onEntering;\n var onEntered = props.onEntered;\n\n var show = !!props.show;\n var dialog = _react2['default'].Children.only(this.props.children);\n\n var setMountNode = function setMountNode(ref) {\n return _this.mountNode = !ref || ref.getMountNode();\n };\n\n var mountModal = show || Transition && !this.state.exited;\n\n if (!mountModal) {\n return null;\n }\n\n var _dialog$props = dialog.props;\n var role = _dialog$props.role;\n var tabIndex = _dialog$props.tabIndex;\n\n if (role === undefined || tabIndex === undefined) {\n dialog = _react.cloneElement(dialog, {\n role: role === undefined ? 'document' : role,\n tabIndex: tabIndex == null ? '-1' : tabIndex\n });\n }\n\n if (Transition) {\n dialog = _react2['default'].createElement(\n Transition,\n {\n transitionAppear: true,\n unmountOnExit: true,\n 'in': show,\n timeout: dialogTransitionTimeout,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.handleHidden,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n },\n dialog\n );\n }\n\n return _react2['default'].createElement(\n _Portal2['default'],\n {\n ref: setMountNode,\n container: props.container\n },\n _react2['default'].createElement(\n 'div',\n {\n ref: 'modal',\n role: props.role || 'dialog',\n style: props.style,\n className: props.className\n },\n backdrop && this.renderBackdrop(),\n dialog\n )\n );\n },\n\n renderBackdrop: function renderBackdrop() {\n var _props2 = this.props;\n var Transition = _props2.transition;\n var backdropTransitionTimeout = _props2.backdropTransitionTimeout;\n\n var backdrop = _react2['default'].createElement('div', { ref: 'backdrop',\n style: this.props.backdropStyle,\n className: this.props.backdropClassName,\n onClick: this.handleBackdropClick\n });\n\n if (Transition) {\n backdrop = _react2['default'].createElement(\n Transition,\n { transitionAppear: true,\n 'in': this.props.show,\n timeout: backdropTransitionTimeout\n },\n backdrop\n );\n }\n\n return backdrop;\n },\n\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n },\n\n componentWillUpdate: function componentWillUpdate(nextProps) {\n if (nextProps.show) {\n this.checkForFocus();\n }\n },\n\n componentDidMount: function componentDidMount() {\n if (this.props.show) {\n this.onShow();\n }\n },\n\n componentDidUpdate: function componentDidUpdate(prevProps) {\n var transition = this.props.transition;\n\n if (prevProps.show && !this.props.show && !transition) {\n // Otherwise handleHidden will call this.\n this.onHide();\n } else if (!prevProps.show && this.props.show) {\n this.onShow();\n }\n },\n\n componentWillUnmount: function componentWillUnmount() {\n var _props3 = this.props;\n var show = _props3.show;\n var transition = _props3.transition;\n\n if (show || transition && !this.state.exited) {\n this.onHide();\n }\n },\n\n onShow: function onShow() {\n var doc = _utilsOwnerDocument2['default'](this);\n var container = _utilsGetContainer2['default'](this.props.container, doc.body);\n\n modalManager.add(this, container, this.props.containerClassName);\n\n this._onDocumentKeyupListener = _utilsAddEventListener2['default'](doc, 'keyup', this.handleDocumentKeyUp);\n\n this._onFocusinListener = _utilsAddFocusListener2['default'](this.enforceFocus);\n\n this.focus();\n },\n\n onHide: function onHide() {\n modalManager.remove(this);\n\n this._onDocumentKeyupListener.remove();\n\n this._onFocusinListener.remove();\n\n this.restoreLastFocus();\n },\n\n handleHidden: function handleHidden() {\n this.setState({ exited: true });\n this.onHide();\n\n if (this.props.onExited) {\n var _props4;\n\n (_props4 = this.props).onExited.apply(_props4, arguments);\n }\n },\n\n handleBackdropClick: function handleBackdropClick(e) {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (this.props.onBackdropClick) {\n this.props.onBackdropClick(e);\n }\n\n if (this.props.backdrop === true) {\n this.props.onHide();\n }\n },\n\n handleDocumentKeyUp: function handleDocumentKeyUp(e) {\n if (this.props.keyboard && e.keyCode === 27 && this.isTopModal()) {\n if (this.props.onEscapeKeyUp) {\n this.props.onEscapeKeyUp(e);\n }\n this.props.onHide();\n }\n },\n\n checkForFocus: function checkForFocus() {\n if (_domHelpersUtilInDOM2['default']) {\n this.lastFocus = _domHelpersActiveElement2['default']();\n }\n },\n\n focus: function focus() {\n var autoFocus = this.props.autoFocus;\n var modalContent = this.getDialogElement();\n var current = _domHelpersActiveElement2['default'](_utilsOwnerDocument2['default'](this));\n var focusInModal = current && _domHelpersQueryContains2['default'](modalContent, current);\n\n if (modalContent && autoFocus && !focusInModal) {\n this.lastFocus = current;\n\n if (!modalContent.hasAttribute('tabIndex')) {\n modalContent.setAttribute('tabIndex', -1);\n _warning2['default'](false, 'The modal content node does not accept focus. ' + 'For the benefit of assistive technologies, the tabIndex of the node is being set to \"-1\".');\n }\n\n modalContent.focus();\n }\n },\n\n restoreLastFocus: function restoreLastFocus() {\n // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n if (this.lastFocus && this.lastFocus.focus) {\n this.lastFocus.focus();\n this.lastFocus = null;\n }\n },\n\n enforceFocus: function enforceFocus() {\n var enforceFocus = this.props.enforceFocus;\n\n if (!enforceFocus || !this.isMounted() || !this.isTopModal()) {\n return;\n }\n\n var active = _domHelpersActiveElement2['default'](_utilsOwnerDocument2['default'](this));\n var modal = this.getDialogElement();\n\n if (modal && modal !== active && !_domHelpersQueryContains2['default'](modal, active)) {\n modal.focus();\n }\n },\n\n //instead of a ref, which might conflict with one the parent applied.\n getDialogElement: function getDialogElement() {\n var node = this.refs.modal;\n return node && node.lastChild;\n },\n\n isTopModal: function isTopModal() {\n return modalManager.isTopModal(this);\n }\n\n});\n\nModal.manager = modalManager;\n\nexports['default'] = Modal;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-overlays/lib/Modal.js\n ** module id = 260\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _domHelpersStyle = require('dom-helpers/style');\n\nvar _domHelpersStyle2 = _interopRequireDefault(_domHelpersStyle);\n\nvar _domHelpersClass = require('dom-helpers/class');\n\nvar _domHelpersClass2 = _interopRequireDefault(_domHelpersClass);\n\nvar _domHelpersUtilScrollbarSize = require('dom-helpers/util/scrollbarSize');\n\nvar _domHelpersUtilScrollbarSize2 = _interopRequireDefault(_domHelpersUtilScrollbarSize);\n\nvar _utilsIsOverflowing = require('./utils/isOverflowing');\n\nvar _utilsIsOverflowing2 = _interopRequireDefault(_utilsIsOverflowing);\n\nvar _utilsManageAriaHidden = require('./utils/manageAriaHidden');\n\nfunction findIndexOf(arr, cb) {\n var idx = -1;\n arr.some(function (d, i) {\n if (cb(d, i)) {\n idx = i;\n return true;\n }\n });\n return idx;\n}\n\nfunction findContainer(data, modal) {\n return findIndexOf(data, function (d) {\n return d.modals.indexOf(modal) !== -1;\n });\n}\n\n/**\r\n * Proper state managment for containers and the modals in those containers.\r\n *\r\n * @internal Used by the Modal to ensure proper styling of containers.\r\n */\n\nvar ModalManager = (function () {\n function ModalManager() {\n var hideSiblingNodes = arguments[0] === undefined ? true : arguments[0];\n\n _classCallCheck(this, ModalManager);\n\n this.hideSiblingNodes = hideSiblingNodes;\n this.modals = [];\n this.containers = [];\n this.data = [];\n }\n\n ModalManager.prototype.add = function add(modal, container, className) {\n var modalIdx = this.modals.indexOf(modal);\n var containerIdx = this.containers.indexOf(container);\n\n if (modalIdx !== -1) {\n return modalIdx;\n }\n\n modalIdx = this.modals.length;\n this.modals.push(modal);\n\n if (this.hideSiblingNodes) {\n _utilsManageAriaHidden.hideSiblings(container, modal.mountNode);\n }\n\n if (containerIdx !== -1) {\n this.data[containerIdx].modals.push(modal);\n return modalIdx;\n }\n\n var data = {\n modals: [modal],\n //right now only the first modal of a container will have its classes applied\n classes: className ? className.split(/\\s+/) : [],\n //we are only interested in the actual `style` here becasue we will override it\n style: {\n overflow: container.style.overflow,\n paddingRight: container.style.paddingRight\n }\n };\n\n var style = { overflow: 'hidden' };\n\n data.overflowing = _utilsIsOverflowing2['default'](container);\n\n if (data.overflowing) {\n // use computed style, here to get the real padding\n // to add our scrollbar width\n style.paddingRight = parseInt(_domHelpersStyle2['default'](container, 'paddingRight') || 0, 10) + _domHelpersUtilScrollbarSize2['default']() + 'px';\n }\n\n _domHelpersStyle2['default'](container, style);\n\n data.classes.forEach(_domHelpersClass2['default'].addClass.bind(null, container));\n\n this.containers.push(container);\n this.data.push(data);\n\n return modalIdx;\n };\n\n ModalManager.prototype.remove = function remove(modal) {\n var modalIdx = this.modals.indexOf(modal);\n\n if (modalIdx === -1) {\n return;\n }\n\n var containerIdx = findContainer(this.data, modal);\n var data = this.data[containerIdx];\n var container = this.containers[containerIdx];\n\n data.modals.splice(data.modals.indexOf(modal), 1);\n\n this.modals.splice(modalIdx, 1);\n\n //if that was the last modal in a container, clean it up.\n if (data.modals.length === 0) {\n Object.keys(data.style).forEach(function (key) {\n return container.style[key] = data.style[key];\n });\n\n data.classes.forEach(_domHelpersClass2['default'].removeClass.bind(null, container));\n\n if (this.hideSiblingNodes) {\n _utilsManageAriaHidden.showSiblings(container, modal.mountNode);\n }\n this.containers.splice(containerIdx, 1);\n this.data.splice(containerIdx, 1);\n } else if (this.hideSiblingNodes) {\n //otherwise make sure the next top modal is visible to a SR\n _utilsManageAriaHidden.ariaHidden(false, data.modals[data.modals.length - 1].mountNode);\n }\n };\n\n ModalManager.prototype.isTopModal = function isTopModal(modal) {\n return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n };\n\n return ModalManager;\n})();\n\nexports['default'] = ModalManager;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-overlays/lib/ModalManager.js\n ** module id = 261\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _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; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _Position = require('./Position');\n\nvar _Position2 = _interopRequireDefault(_Position);\n\nvar _RootCloseWrapper = require('./RootCloseWrapper');\n\nvar _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper);\n\nvar _reactPropTypesLibElementType = require('react-prop-types/lib/elementType');\n\nvar _reactPropTypesLibElementType2 = _interopRequireDefault(_reactPropTypesLibElementType);\n\n/**\r\n * Built on top of `` and ``, the overlay component is great for custom tooltip overlays.\r\n */\n\nvar Overlay = (function (_React$Component) {\n function Overlay(props, context) {\n _classCallCheck(this, Overlay);\n\n _React$Component.call(this, props, context);\n\n this.state = { exited: !props.show };\n this.onHiddenListener = this.handleHidden.bind(this);\n }\n\n _inherits(Overlay, _React$Component);\n\n Overlay.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n };\n\n Overlay.prototype.render = function render() {\n var _props = this.props;\n var container = _props.container;\n var containerPadding = _props.containerPadding;\n var target = _props.target;\n var placement = _props.placement;\n var rootClose = _props.rootClose;\n var children = _props.children;\n var Transition = _props.transition;\n\n var props = _objectWithoutProperties(_props, ['container', 'containerPadding', 'target', 'placement', 'rootClose', 'children', 'transition']);\n\n // Don't un-render the overlay while it's transitioning out.\n var mountOverlay = props.show || Transition && !this.state.exited;\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n var child = children;\n\n // Position is be inner-most because it adds inline styles into the child,\n // which the other wrappers don't forward correctly.\n child = _react2['default'].createElement(\n _Position2['default'],\n { container: container, containerPadding: containerPadding, target: target, placement: placement },\n child\n );\n\n if (Transition) {\n var onExit = props.onExit;\n var onExiting = props.onExiting;\n var onEnter = props.onEnter;\n var onEntering = props.onEntering;\n var onEntered = props.onEntered;\n\n // This animates the child node by injecting props, so it must precede\n // anything that adds a wrapping div.\n child = _react2['default'].createElement(\n Transition,\n {\n 'in': props.show,\n transitionAppear: true,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.onHiddenListener,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n },\n child\n );\n }\n\n // This goes after everything else because it adds a wrapping div.\n if (rootClose) {\n child = _react2['default'].createElement(\n _RootCloseWrapper2['default'],\n { onRootClose: props.onHide },\n child\n );\n }\n\n return _react2['default'].createElement(\n _Portal2['default'],\n { container: container },\n child\n );\n };\n\n Overlay.prototype.handleHidden = function handleHidden() {\n this.setState({ exited: true });\n\n if (this.props.onExited) {\n var _props2;\n\n (_props2 = this.props).onExited.apply(_props2, arguments);\n }\n };\n\n return Overlay;\n})(_react2['default'].Component);\n\nOverlay.propTypes = _extends({}, _Portal2['default'].propTypes, _Position2['default'].propTypes, {\n /**\r\n * Set the visibility of the Overlay\r\n */\n show: _react2['default'].PropTypes.bool,\n /**\r\n * Specify whether the overlay should trigger onHide when the user clicks outside the overlay\r\n */\n rootClose: _react2['default'].PropTypes.bool,\n /**\r\n * A Callback fired by the Overlay when it wishes to be hidden.\r\n */\n onHide: _react2['default'].PropTypes.func,\n\n /**\r\n * A `` component used to animate the overlay changes visibility.\r\n */\n transition: _reactPropTypesLibElementType2['default'],\n\n /**\r\n * Callback fired before the Overlay transitions in\r\n */\n onEnter: _react2['default'].PropTypes.func,\n\n /**\r\n * Callback fired as the Overlay begins to transition in\r\n */\n onEntering: _react2['default'].PropTypes.func,\n\n /**\r\n * Callback fired after the Overlay finishes transitioning in\r\n */\n onEntered: _react2['default'].PropTypes.func,\n\n /**\r\n * Callback fired right before the Overlay transitions out\r\n */\n onExit: _react2['default'].PropTypes.func,\n\n /**\r\n * Callback fired as the Overlay begins to transition out\r\n */\n onExiting: _react2['default'].PropTypes.func,\n\n /**\r\n * Callback fired after the Overlay finishes transitioning out\r\n */\n onExited: _react2['default'].PropTypes.func\n});\n\nexports['default'] = Overlay;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-overlays/lib/Overlay.js\n ** module id = 262\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _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; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _utilsOwnerDocument = require('./utils/ownerDocument');\n\nvar _utilsOwnerDocument2 = _interopRequireDefault(_utilsOwnerDocument);\n\nvar _utilsGetContainer = require('./utils/getContainer');\n\nvar _utilsGetContainer2 = _interopRequireDefault(_utilsGetContainer);\n\nvar _utilsOverlayPositionUtils = require('./utils/overlayPositionUtils');\n\nvar _reactPropTypesLibMountable = require('react-prop-types/lib/mountable');\n\nvar _reactPropTypesLibMountable2 = _interopRequireDefault(_reactPropTypesLibMountable);\n\n/**\r\n * The Position component calulates the corrdinates for its child, to\r\n * position it relative to a `target` component or node. Useful for creating callouts and tooltips,\r\n * the Position component injects a `style` props with `left` and `top` values for positioning your component.\r\n *\r\n * It also injects \"arrow\" `left`, and `top` values for styling callout arrows for giving your components\r\n * a sense of directionality.\r\n */\n\nvar Position = (function (_React$Component) {\n function Position(props, context) {\n _classCallCheck(this, Position);\n\n _React$Component.call(this, props, context);\n\n this.state = {\n positionLeft: null,\n positionTop: null,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n };\n\n this._needsFlush = false;\n this._lastTarget = null;\n }\n\n _inherits(Position, _React$Component);\n\n Position.prototype.componentDidMount = function componentDidMount() {\n this.updatePosition();\n };\n\n Position.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n this._needsFlush = true;\n };\n\n Position.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this._needsFlush) {\n this._needsFlush = false;\n this.updatePosition(prevProps.placement !== this.props.placement);\n }\n };\n\n Position.prototype.componentWillUnmount = function componentWillUnmount() {\n // Probably not necessary, but just in case holding a reference to the\n // target causes problems somewhere.\n this._lastTarget = null;\n };\n\n Position.prototype.render = function render() {\n var _props = this.props;\n var children = _props.children;\n var className = _props.className;\n\n var props = _objectWithoutProperties(_props, ['children', 'className']);\n\n var _state = this.state;\n var positionLeft = _state.positionLeft;\n var positionTop = _state.positionTop;\n\n var arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop']);\n\n var child = _react2['default'].Children.only(children);\n return _react.cloneElement(child, _extends({}, props, arrowPosition, {\n //do we need to also forward positionLeft and positionTop if they are set to style?\n positionLeft: positionLeft,\n positionTop: positionTop,\n className: _classnames2['default'](className, child.props.className),\n style: _extends({}, child.props.style, {\n left: positionLeft,\n top: positionTop\n })\n }));\n };\n\n Position.prototype.getTargetSafe = function getTargetSafe() {\n if (!this.props.target) {\n return null;\n }\n\n var target = this.props.target(this.props);\n if (!target) {\n // This is so we can just use === check below on all falsy targets.\n return null;\n }\n\n return target;\n };\n\n Position.prototype.updatePosition = function updatePosition(placementChanged) {\n var target = this.getTargetSafe();\n\n if (target === this._lastTarget && !placementChanged) {\n return;\n }\n\n this._lastTarget = target;\n\n if (!target) {\n this.setState({\n positionLeft: null,\n positionTop: null,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n });\n\n return;\n }\n\n var overlay = _reactDom2['default'].findDOMNode(this);\n var container = _utilsGetContainer2['default'](this.props.container, _utilsOwnerDocument2['default'](this).body);\n\n this.setState(_utilsOverlayPositionUtils.calcOverlayPosition(this.props.placement, overlay, target, container, this.props.containerPadding));\n };\n\n return Position;\n})(_react2['default'].Component);\n\nPosition.propTypes = {\n /**\r\n * Function mapping props to a DOM node the component is positioned next to\r\n */\n target: _react2['default'].PropTypes.func,\n /**\r\n * \"offsetParent\" of the component\r\n */\n container: _reactPropTypesLibMountable2['default'],\n /**\r\n * Minimum spacing in pixels between container border and component border\r\n */\n containerPadding: _react2['default'].PropTypes.number,\n /**\r\n * How to position the component relative to the target\r\n */\n placement: _react2['default'].PropTypes.oneOf(['top', 'right', 'bottom', 'left'])\n};\n\nPosition.displayName = 'Position';\n\nPosition.defaultProps = {\n containerPadding: 0,\n placement: 'right'\n};\n\nexports['default'] = Position;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-overlays/lib/Position.js\n ** module id = 263\n ** module chunks = 0\n **/","/**\r\n * Firefox doesn't have a focusin event so using capture is easiest way to get bubbling\r\n * IE8 can't do addEventListener, but does have onfocusin, so we use that in ie8\r\n *\r\n * We only allow one Listener at a time to avoid stack overflows\r\n */\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = addFocusListener;\n\nfunction addFocusListener(handler) {\n var useFocusin = !document.addEventListener;\n var remove = undefined;\n\n if (useFocusin) {\n document.attachEvent('onfocusin', handler);\n remove = function () {\n return document.detachEvent('onfocusin', handler);\n };\n } else {\n document.addEventListener('focus', handler, true);\n remove = function () {\n return document.removeEventListener('focus', handler, true);\n };\n }\n\n return { remove: remove };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-overlays/lib/utils/addFocusListener.js\n ** module id = 264\n ** module chunks = 0\n **/","/**\r\n * Safe chained function\r\n *\r\n * Will only create a new function if needed,\r\n * otherwise will pass back existing functions or null.\r\n *\r\n * @param {function} functions to chain\r\n * @returns {function|null}\r\n */\n'use strict';\n\nexports.__esModule = true;\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f) {\n return f != null;\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) {\n return f;\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n f.apply(this, args);\n };\n }, null);\n}\n\nexports['default'] = createChainedFunction;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-overlays/lib/utils/createChainedFunction.js\n ** module id = 265\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.ariaHidden = ariaHidden;\nexports.hideSiblings = hideSiblings;\nexports.showSiblings = showSiblings;\n\nvar BLACKLIST = ['template', 'script', 'style'];\n\nvar isHidable = function isHidable(_ref) {\n var nodeType = _ref.nodeType;\n var tagName = _ref.tagName;\n return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1;\n};\n\nvar siblings = function siblings(container, mount, cb) {\n mount = [].concat(mount);\n\n [].forEach.call(container.children, function (node) {\n if (mount.indexOf(node) === -1 && isHidable(node)) {\n cb(node);\n }\n });\n};\n\nfunction ariaHidden(show, node) {\n if (!node) {\n return;\n }\n if (show) {\n node.setAttribute('aria-hidden', 'true');\n } else {\n node.removeAttribute('aria-hidden');\n }\n}\n\nfunction hideSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(true, node);\n });\n}\n\nfunction showSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(false, node);\n });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-overlays/lib/utils/manageAriaHidden.js\n ** module id = 266\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _ownerDocument = require('./ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _domHelpersQueryOffset = require('dom-helpers/query/offset');\n\nvar _domHelpersQueryOffset2 = _interopRequireDefault(_domHelpersQueryOffset);\n\nvar _domHelpersQueryPosition = require('dom-helpers/query/position');\n\nvar _domHelpersQueryPosition2 = _interopRequireDefault(_domHelpersQueryPosition);\n\nvar _domHelpersQueryScrollTop = require('dom-helpers/query/scrollTop');\n\nvar _domHelpersQueryScrollTop2 = _interopRequireDefault(_domHelpersQueryScrollTop);\n\nvar utils = {\n\n getContainerDimensions: function getContainerDimensions(containerNode) {\n var width = undefined,\n height = undefined,\n scroll = undefined;\n\n if (containerNode.tagName === 'BODY') {\n width = window.innerWidth;\n height = window.innerHeight;\n\n scroll = _domHelpersQueryScrollTop2['default'](_ownerDocument2['default'](containerNode).documentElement) || _domHelpersQueryScrollTop2['default'](containerNode);\n } else {\n var _getOffset = _domHelpersQueryOffset2['default'](containerNode);\n\n width = _getOffset.width;\n height = _getOffset.height;\n\n scroll = _domHelpersQueryScrollTop2['default'](containerNode);\n }\n\n return { width: width, height: height, scroll: scroll };\n },\n\n getPosition: function getPosition(target, container) {\n var offset = container.tagName === 'BODY' ? _domHelpersQueryOffset2['default'](target) : _domHelpersQueryPosition2['default'](target, container);\n\n return offset;\n },\n\n calcOverlayPosition: function calcOverlayPosition(placement, overlayNode, target, container, padding) {\n var childOffset = utils.getPosition(target, container);\n\n var _getOffset2 = _domHelpersQueryOffset2['default'](overlayNode);\n\n var overlayHeight = _getOffset2.height;\n var overlayWidth = _getOffset2.width;\n\n var positionLeft = undefined,\n positionTop = undefined,\n arrowOffsetLeft = undefined,\n arrowOffsetTop = undefined;\n\n if (placement === 'left' || placement === 'right') {\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n\n if (placement === 'left') {\n positionLeft = childOffset.left - overlayWidth;\n } else {\n positionLeft = childOffset.left + childOffset.width;\n }\n\n var topDelta = getTopDelta(positionTop, overlayHeight, container, padding);\n\n positionTop += topDelta;\n arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%';\n arrowOffsetLeft = void 0;\n } else if (placement === 'top' || placement === 'bottom') {\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n\n if (placement === 'top') {\n positionTop = childOffset.top - overlayHeight;\n } else {\n positionTop = childOffset.top + childOffset.height;\n }\n\n var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);\n positionLeft += leftDelta;\n arrowOffsetLeft = 50 * (1 - 2 * leftDelta / overlayWidth) + '%';\n arrowOffsetTop = void 0;\n } else {\n throw new Error('calcOverlayPosition(): No such placement of \"' + placement + '\" found.');\n }\n\n return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop };\n }\n};\n\nfunction getTopDelta(top, overlayHeight, container, padding) {\n var containerDimensions = utils.getContainerDimensions(container);\n var containerScroll = containerDimensions.scroll;\n var containerHeight = containerDimensions.height;\n\n var topEdgeOffset = top - padding - containerScroll;\n var bottomEdgeOffset = top + padding - containerScroll + overlayHeight;\n\n if (topEdgeOffset < 0) {\n return -topEdgeOffset;\n } else if (bottomEdgeOffset > containerHeight) {\n return containerHeight - bottomEdgeOffset;\n } else {\n return 0;\n }\n}\n\nfunction getLeftDelta(left, overlayWidth, container, padding) {\n var containerDimensions = utils.getContainerDimensions(container);\n var containerWidth = containerDimensions.width;\n\n var leftEdgeOffset = left - padding;\n var rightEdgeOffset = left + padding + overlayWidth;\n\n if (leftEdgeOffset < 0) {\n return -leftEdgeOffset;\n } else if (rightEdgeOffset > containerWidth) {\n return containerWidth - rightEdgeOffset;\n } else {\n return 0;\n }\n}\nexports['default'] = utils;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-overlays/lib/utils/overlayPositionUtils.js\n ** module id = 267\n ** module chunks = 0\n **/","/**\n * Checks if only one of the listed properties is in use. An error is given\n * if multiple have a value\n *\n * @param props\n * @param propName\n * @param componentName\n * @returns {Error|undefined}\n */\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSinglePropFromChecker;\n\nfunction createSinglePropFromChecker() {\n for (var _len = arguments.length, arrOfProps = Array(_len), _key = 0; _key < _len; _key++) {\n arrOfProps[_key] = arguments[_key];\n }\n\n function validate(props, propName, componentName) {\n var usedPropCount = arrOfProps.map(function (listedProp) {\n return props[listedProp];\n }).reduce(function (acc, curr) {\n return acc + (curr !== undefined ? 1 : 0);\n }, 0);\n\n if (usedPropCount > 1) {\n var first = arrOfProps[0];\n var others = arrOfProps.slice(1);\n\n var message = others.join(', ') + ' and ' + first;\n return new Error('Invalid prop \\'' + propName + '\\', only one of the following ' + ('may be provided: ' + message));\n }\n }\n return validate;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-prop-types/lib/singlePropFrom.js\n ** module id = 268\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nexports['default'] = createUncontrollable;\n\nfunction _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; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _utils = require('./utils');\n\nvar utils = _interopRequireWildcard(_utils);\n\nfunction createUncontrollable(mixins, set) {\n\n return uncontrollable;\n\n function uncontrollable(Component, controlledValues) {\n var methods = arguments.length <= 2 || arguments[2] === undefined ? [] : arguments[2];\n\n var displayName = Component.displayName || Component.name || 'Component',\n basePropTypes = utils.getType(Component).propTypes,\n propTypes;\n\n propTypes = utils.uncontrolledPropTypes(controlledValues, basePropTypes, displayName);\n\n methods = utils.transform(methods, function (obj, method) {\n obj[method] = function () {\n var _refs$inner;\n\n return (_refs$inner = this.refs.inner)[method].apply(_refs$inner, arguments);\n };\n }, {});\n\n var component = _react2['default'].createClass(_extends({\n\n displayName: 'Uncontrolled(' + displayName + ')',\n\n mixins: mixins,\n\n propTypes: propTypes\n\n }, methods, {\n\n componentWillMount: function componentWillMount() {\n var props = this.props,\n keys = Object.keys(controlledValues);\n\n this._values = utils.transform(keys, function (values, key) {\n values[key] = props[utils.defaultKey(key)];\n }, {});\n },\n\n /**\r\n * If a prop switches from controlled to Uncontrolled\r\n * reset its value to the defaultValue\r\n */\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n var _this = this;\n\n var props = this.props,\n keys = Object.keys(controlledValues);\n\n keys.forEach(function (key) {\n if (utils.getValue(nextProps, key) === undefined && utils.getValue(props, key) !== undefined) {\n _this._values[key] = nextProps[utils.defaultKey(key)];\n }\n });\n },\n\n render: function render() {\n var _this2 = this;\n\n var newProps = {};\n var _props = this.props;\n var valueLink = _props.valueLink;\n var checkedLink = _props.checkedLink;\n\n var props = _objectWithoutProperties(_props, ['valueLink', 'checkedLink']);\n\n utils.each(controlledValues, function (handle, propName) {\n var linkPropName = utils.getLinkName(propName),\n prop = _this2.props[propName];\n\n if (linkPropName && !isProp(_this2.props, propName) && isProp(_this2.props, linkPropName)) {\n prop = _this2.props[linkPropName].value;\n }\n\n newProps[propName] = prop !== undefined ? prop : _this2._values[propName];\n\n newProps[handle] = setAndNotify.bind(_this2, propName);\n });\n\n newProps = _extends({}, props, newProps, { ref: 'inner' });\n\n return _react2['default'].createElement(Component, newProps);\n }\n\n }));\n\n component.ControlledComponent = Component;\n\n return component;\n\n function setAndNotify(propName, value) {\n var linkName = utils.getLinkName(propName),\n handler = this.props[controlledValues[propName]];\n\n if (linkName && isProp(this.props, linkName) && !handler) {\n handler = this.props[linkName].requestChange;\n }\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n set(this, propName, handler, value, args);\n }\n\n function isProp(props, prop) {\n return props[prop] !== undefined;\n }\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/uncontrollable/createUncontrollable.js\n ** module id = 269\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.customPropType = customPropType;\nexports.uncontrolledPropTypes = uncontrolledPropTypes;\nexports.getType = getType;\nexports.getValue = getValue;\nexports.getLinkName = getLinkName;\nexports.defaultKey = defaultKey;\nexports.chain = chain;\nexports.transform = transform;\nexports.each = each;\nexports.has = has;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction customPropType(handler, propType, name) {\n\n return function (props, propName) {\n\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n 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 + '`');\n }\n\n return propType && propType(props, propName, name);\n }\n };\n}\n\nfunction uncontrolledPropTypes(controlledValues, basePropTypes, displayName) {\n var propTypes = {};\n\n if (process.env.NODE_ENV !== 'production' && basePropTypes) {\n transform(controlledValues, function (obj, handler, prop) {\n var type = basePropTypes[prop];\n\n _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);\n\n obj[prop] = customPropType(handler, type, displayName);\n\n if (type !== undefined) obj[defaultKey(prop)] = type;\n }, propTypes);\n }\n\n return propTypes;\n}\n\nvar version = _react2['default'].version.split('.').map(parseFloat);\n\nexports.version = version;\n\nfunction getType(component) {\n if (version[0] === 0 && version[1] >= 13) return component;\n\n return component.type;\n}\n\nfunction getValue(props, name) {\n var linkPropName = getLinkName(name);\n\n if (linkPropName && !isProp(props, name) && isProp(props, linkPropName)) return props[linkPropName].value;\n\n return props[name];\n}\n\nfunction isProp(props, prop) {\n return props[prop] !== undefined;\n}\n\nfunction getLinkName(name) {\n return name === 'value' ? 'valueLink' : name === 'checked' ? 'checkedLink' : null;\n}\n\nfunction defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n\nfunction chain(thisArg, a, b) {\n return function chainedFunction() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n a && a.call.apply(a, [thisArg].concat(args));\n b && b.call.apply(b, [thisArg].concat(args));\n };\n}\n\nfunction transform(obj, cb, seed) {\n each(obj, cb.bind(null, seed = seed || (Array.isArray(obj) ? [] : {})));\n return seed;\n}\n\nfunction each(obj, cb, thisArg) {\n if (Array.isArray(obj)) return obj.forEach(cb, thisArg);\n\n for (var key in obj) if (has(obj, key)) cb.call(thisArg, obj[key], key, obj);\n}\n\nfunction has(o, k) {\n return o ? Object.prototype.hasOwnProperty.call(o, k) : false;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/uncontrollable/utils.js\n ** module id = 270\n ** module chunks = 0\n **/"],"sourceRoot":""}