{"version":3,"sources":["webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/lib/utils.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/lib/SaveRef.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/lib/TabBarTabsNode.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/gud/index.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/lib/ScrollableTabBarNode.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/lib/TabBarRootNode.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/es/KeyCode.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/es/utils.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/es/Sentinel.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/es/TabPane.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/es/Tabs.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/es/TabContent.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/es/index.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/lib/TabContent.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/warning/warning.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/@ant-design/create-react-context/lib/implementation.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/@ant-design/create-react-context/lib/index.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/lib/ScrollableInkTabBar.js","webpack:////Users/edgarbarrios/www/2019-ADAWARE-WEBSITE-v31/node_modules/rc-tabs/lib/InkTabBarNode.js"],"names":["Object","defineProperty","exports","value","_defineProperty3","_interopRequireDefault","toArray","getActiveIndex","children","activeKey","c","i","length","key","getActiveKey","index","setTransform","isTransform3dSupported","style","window","atob","setTransition","v","transition","webkitTransition","MozTransition","getTransformPropValue","transform","WebkitTransform","MozTransform","isVertical","getTransformByIndex","tabBarPosition","direction","arguments","undefined","translate","getMarginStyle","marginDirection","getStyle","setPxStyle","el","vertical","getDataAttr","props","keys","reduce","prev","substr","getLeft","tabNode","wrapperNode","getTypeValue","getTop","_react2","obj","__esModule","Children","forEach","child","push","webkitTransform","mozTransform","property","getComputedStyle","getPropertyValue","replace","toNum","start","current","end","total","parentNode","childNodes","Array","prototype","some","call","node","boxSizing","_classCallCheck3","_createClass3","_possibleConstructorReturn3","_inherits3","_propTypes2","SaveRef","_React$Component","_ref","_temp","_this","_ret","this","_len","args","_key","__proto__","getPrototypeOf","apply","concat","getRef","name","saveRef","Component","propTypes","func","defaultProps","module","_extends3","_warning2","_utils","TabBarTabsNode","_this2","_props","panels","prefixCls","tabBarGutter","renderTabBarNode","rst","cls","events","disabled","onClick","onTabClick","bind","ref","gutter","marginProperty","createElement","role","className","tab","string","number","global","_classnames6","_debounce2","_resizeObserverPolyfill2","ScrollableTabBarNode","prevTransitionEnd","e","propertyName","container","scrollToActiveTab","target","currentTarget","activeTab","navWrap","needToSroll","isNextPrevShown","lastNextPrevShown","activeTabWH","getScrollWH","navWrapNodeWH","getOffsetWH","offset","wrapOffset","getOffsetLT","activeTabOffset","setOffset","onPrevClick","navWrapNode","next","onNextClick","state","componentDidUpdate","debouncedResize","setNextPrev","resizeObserver","observe","prevProps","nextPrev","setState","disconnect","cancel","navNode","navTabsContainer","navNodeWH","containerWH","minOffset","_state","realOffset","setNext","setPrev","prop","getBoundingClientRect","checkNextPrev","Math","min","navOffset","navStyle","transformSupported","_classnames","_classnames2","_classnames3","_classnames4","_state2","scrollAnimated","navWrapper","prevIcon","nextIcon","showNextPrev","prevButton","unselectable","onTransitionEnd","nextButton","navClassName","navClasses","isRequired","oneOf","bool","ele","MapShim","Map","getIndex","arr","result","entry","class_1","__entries__","get","enumerable","configurable","set","delete","entries","splice","has","clear","callback","ctx","_i","_a","isBrowser","document","global$1","self","Function","requestAnimationFrame$1","requestAnimationFrame","setTimeout","Date","now","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","attributes","childList","characterData","subtree","removeEventListener","_b","getInstance","instance_","defineConfigurable","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","size","position","getHTMLElementContentRect","clientWidth","clientHeight","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","width","height","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","create","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","observation","map","WeakMap","ResizeObserver","method","_objectWithoutProperties3","_react","TabBarRootNode","onKeyDown","extraContent","restProps","topOrBottom","tabBarExtraContentStyle","float","extraContentStyle","newChildren","cloneElement","reverse","tabIndex","object","SentinelContext","SentinelProvider","Provider","SentinelConsumer","Consumer","sentinelStyle","overflow","Sentinel","_ref2","which","shiftKey","_this$props","nextElement","prevElement","TAB","activeElement","focus","setRef","TabPane","id","destroyInactiveTabPane","active","forceRender","rootPrefixCls","placeholder","_isActived","shouldRender","sentinelStart","sentinelEnd","setPanelSentinelStart","setPanelSentinelEnd","panelSentinelStart","panelSentinelEnd","getDefaultActiveKey","Tabs","defaultActiveKey","destroy","sentinelId","forceUpdate","renderTabContent","renderTabBar","tabBar","onNavKeyDown","tabContent","onChange","setActiveKey","setSentinelStart","setSentinelEnd","contents","onScroll","newState","activeKeyIsValid","_this3","eventKeyCode","keyCode","KeyCode","preventDefault","nextKey","getNextActiveKey","previousKey","scrollLeft","updateSentinelContext","unshift","ret","arg","TabContent","animated","animatedWithMargin","classes","activeIndex","animatedStyle","display","getTabPanes","any","warning","_gud2","default","_classCallCheck","instance","Constructor","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","constructor","setPrototypeOf","createEventEmitter","handlers","on","handler","off","h","newValue","changedBits","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_Component","emitter","getChildContext","componentWillReceiveProps","nextProps","oldValue","render","childContextTypes","_Component2","_temp2","_len2","_key2","getValue","onUpdate","observedBits","componentDidMount","context","componentWillUnmount","isArray","contextTypes","_implementation2","createContext","_InkTabBarNode2","_TabBarTabsNode2","_TabBarRootNode2","_ScrollableTabBarNode2","_SaveRef2","ScrollableInkTabBar","_componentDidUpdate","component","init","_component$props","rootNode","wrapNode","inkBarNode","inkBarNodeStyle","offsetWidth","inkBar","offsetHeight","InkTabBarNode","timeout","clearTimeout","inkBarAnimated"],"mappings":"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","file":"d4bc9e66eaf45d4209f66dbdabb3b1fafcd9def9-390b236b49db6bfcfb09.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = require('babel-runtime/helpers/defineProperty');\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nexports.toArray = toArray;\nexports.getActiveIndex = getActiveIndex;\nexports.getActiveKey = getActiveKey;\nexports.setTransform = setTransform;\nexports.isTransform3dSupported = isTransform3dSupported;\nexports.setTransition = setTransition;\nexports.getTransformPropValue = getTransformPropValue;\nexports.isVertical = isVertical;\nexports.getTransformByIndex = getTransformByIndex;\nexports.getMarginStyle = getMarginStyle;\nexports.getStyle = getStyle;\nexports.setPxStyle = setPxStyle;\nexports.getDataAttr = getDataAttr;\nexports.getLeft = getLeft;\nexports.getTop = getTop;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nfunction toArray(children) {\n // allow [c,[a,b]]\n var c = [];\n\n _react2['default'].Children.forEach(children, function (child) {\n if (child) {\n c.push(child);\n }\n });\n\n return c;\n}\n\nfunction getActiveIndex(children, activeKey) {\n var c = toArray(children);\n\n for (var i = 0; i < c.length; i++) {\n if (c[i].key === activeKey) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getActiveKey(children, index) {\n var c = toArray(children);\n return c[index].key;\n}\n\nfunction setTransform(style, v) {\n style.transform = v;\n style.webkitTransform = v;\n style.mozTransform = v;\n}\n\nfunction isTransform3dSupported(style) {\n return ('transform' in style || 'webkitTransform' in style || 'MozTransform' in style) && window.atob;\n}\n\nfunction setTransition(style, v) {\n style.transition = v;\n style.webkitTransition = v;\n style.MozTransition = v;\n}\n\nfunction getTransformPropValue(v) {\n return {\n transform: v,\n WebkitTransform: v,\n MozTransform: v\n };\n}\n\nfunction isVertical(tabBarPosition) {\n return tabBarPosition === 'left' || tabBarPosition === 'right';\n}\n\nfunction getTransformByIndex(index, tabBarPosition) {\n var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'ltr';\n var translate = isVertical(tabBarPosition) ? 'translateY' : 'translateX';\n\n if (!isVertical(tabBarPosition) && direction === 'rtl') {\n return translate + '(' + index * 100 + '%) translateZ(0)';\n }\n\n return translate + '(' + -index * 100 + '%) translateZ(0)';\n}\n\nfunction getMarginStyle(index, tabBarPosition) {\n var marginDirection = isVertical(tabBarPosition) ? 'marginTop' : 'marginLeft';\n return (0, _defineProperty3['default'])({}, marginDirection, -index * 100 + '%');\n}\n\nfunction getStyle(el, property) {\n return +window.getComputedStyle(el).getPropertyValue(property).replace('px', '');\n}\n\nfunction setPxStyle(el, value, vertical) {\n value = vertical ? '0px, ' + value + 'px, 0px' : value + 'px, 0px, 0px';\n setTransform(el.style, 'translate3d(' + value + ')');\n}\n\nfunction getDataAttr(props) {\n return Object.keys(props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = props[key];\n }\n\n return prev;\n }, {});\n}\n\nfunction toNum(style, property) {\n return +style.getPropertyValue(property).replace('px', '');\n}\n\nfunction getTypeValue(start, current, end, tabNode, wrapperNode) {\n var total = getStyle(wrapperNode, 'padding-' + start);\n\n if (!tabNode || !tabNode.parentNode) {\n return total;\n }\n\n var childNodes = tabNode.parentNode.childNodes;\n Array.prototype.some.call(childNodes, function (node) {\n var style = window.getComputedStyle(node);\n\n if (node !== tabNode) {\n total += toNum(style, 'margin-' + start);\n total += node[current];\n total += toNum(style, 'margin-' + end);\n\n if (style.boxSizing === 'content-box') {\n total += toNum(style, 'border-' + start + '-width') + toNum(style, 'border-' + end + '-width');\n }\n\n return false;\n } // We need count current node margin\n // ref: https://github.com/react-component/tabs/pull/139#issuecomment-431005262\n\n\n total += toNum(style, 'margin-' + start);\n return true;\n });\n return total;\n}\n\nfunction getLeft(tabNode, wrapperNode) {\n return getTypeValue('left', 'offsetWidth', 'right', tabNode, wrapperNode);\n}\n\nfunction getTop(tabNode, wrapperNode) {\n return getTypeValue('top', 'offsetHeight', 'bottom', tabNode, wrapperNode);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar SaveRef = function (_React$Component) {\n (0, _inherits3['default'])(SaveRef, _React$Component);\n\n function SaveRef() {\n var _ref;\n\n var _temp, _this, _ret;\n\n (0, _classCallCheck3['default'])(this, SaveRef);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = SaveRef.__proto__ || Object.getPrototypeOf(SaveRef)).call.apply(_ref, [this].concat(args))), _this), _this.getRef = function (name) {\n return _this[name];\n }, _this.saveRef = function (name) {\n return function (node) {\n if (node) {\n _this[name] = node;\n }\n };\n }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);\n }\n\n (0, _createClass3['default'])(SaveRef, [{\n key: 'render',\n value: function render() {\n return this.props.children(this.saveRef, this.getRef);\n }\n }]);\n return SaveRef;\n}(_react2['default'].Component);\n\nexports['default'] = SaveRef;\nSaveRef.propTypes = {\n children: _propTypes2['default'].func\n};\nSaveRef.defaultProps = {\n children: function children() {\n return null;\n }\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _defineProperty2 = require('babel-runtime/helpers/defineProperty');\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar TabBarTabsNode = function (_React$Component) {\n (0, _inherits3['default'])(TabBarTabsNode, _React$Component);\n\n function TabBarTabsNode() {\n (0, _classCallCheck3['default'])(this, TabBarTabsNode);\n return (0, _possibleConstructorReturn3['default'])(this, (TabBarTabsNode.__proto__ || Object.getPrototypeOf(TabBarTabsNode)).apply(this, arguments));\n }\n\n (0, _createClass3['default'])(TabBarTabsNode, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.panels,\n activeKey = _props.activeKey,\n prefixCls = _props.prefixCls,\n tabBarGutter = _props.tabBarGutter,\n saveRef = _props.saveRef,\n tabBarPosition = _props.tabBarPosition,\n renderTabBarNode = _props.renderTabBarNode,\n direction = _props.direction;\n var rst = [];\n\n _react2['default'].Children.forEach(children, function (child, index) {\n if (!child) {\n return;\n }\n\n var key = child.key;\n var cls = activeKey === key ? prefixCls + '-tab-active' : '';\n cls += ' ' + prefixCls + '-tab';\n var events = {};\n\n if (child.props.disabled) {\n cls += ' ' + prefixCls + '-tab-disabled';\n } else {\n events = {\n onClick: _this2.props.onTabClick.bind(_this2, key)\n };\n }\n\n var ref = {};\n\n if (activeKey === key) {\n ref.ref = saveRef('activeTab');\n }\n\n var gutter = tabBarGutter && index === children.length - 1 ? 0 : tabBarGutter;\n var marginProperty = direction === 'rtl' ? 'marginLeft' : 'marginRight';\n var style = (0, _defineProperty3['default'])({}, (0, _utils.isVertical)(tabBarPosition) ? 'marginBottom' : marginProperty, gutter);\n (0, _warning2['default'])('tab' in child.props, 'There must be `tab` property on children of Tabs.');\n\n var node = _react2['default'].createElement('div', (0, _extends3['default'])({\n role: 'tab',\n 'aria-disabled': child.props.disabled ? 'true' : 'false',\n 'aria-selected': activeKey === key ? 'true' : 'false'\n }, events, {\n className: cls,\n key: key,\n style: style\n }, ref), child.props.tab);\n\n if (renderTabBarNode) {\n node = renderTabBarNode(node);\n }\n\n rst.push(node);\n });\n\n return _react2['default'].createElement('div', {\n ref: saveRef('navTabsContainer')\n }, rst);\n }\n }]);\n return TabBarTabsNode;\n}(_react2['default'].Component);\n\nexports['default'] = TabBarTabsNode;\nTabBarTabsNode.propTypes = {\n activeKey: _propTypes2['default'].string,\n panels: _propTypes2['default'].node,\n prefixCls: _propTypes2['default'].string,\n tabBarGutter: _propTypes2['default'].number,\n onTabClick: _propTypes2['default'].func,\n saveRef: _propTypes2['default'].func,\n renderTabBarNode: _propTypes2['default'].func,\n tabBarPosition: _propTypes2['default'].string,\n direction: _propTypes2['default'].string\n};\nTabBarTabsNode.defaultProps = {\n panels: [],\n prefixCls: [],\n tabBarGutter: null,\n onTabClick: function onTabClick() {},\n saveRef: function saveRef() {}\n};\nmodule.exports = exports['default'];","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function () {\n return global[key] = (global[key] || 0) + 1;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = require('babel-runtime/helpers/defineProperty');\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames5 = require('classnames');\n\nvar _classnames6 = _interopRequireDefault(_classnames5);\n\nvar _debounce = require('lodash/debounce');\n\nvar _debounce2 = _interopRequireDefault(_debounce);\n\nvar _resizeObserverPolyfill = require('resize-observer-polyfill');\n\nvar _resizeObserverPolyfill2 = _interopRequireDefault(_resizeObserverPolyfill);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar ScrollableTabBarNode = function (_React$Component) {\n (0, _inherits3['default'])(ScrollableTabBarNode, _React$Component);\n\n function ScrollableTabBarNode(props) {\n (0, _classCallCheck3['default'])(this, ScrollableTabBarNode);\n\n var _this = (0, _possibleConstructorReturn3['default'])(this, (ScrollableTabBarNode.__proto__ || Object.getPrototypeOf(ScrollableTabBarNode)).call(this, props));\n\n _this.prevTransitionEnd = function (e) {\n if (e.propertyName !== 'opacity') {\n return;\n }\n\n var container = _this.props.getRef('container');\n\n _this.scrollToActiveTab({\n target: container,\n currentTarget: container\n });\n };\n\n _this.scrollToActiveTab = function (e) {\n var activeTab = _this.props.getRef('activeTab');\n\n var navWrap = _this.props.getRef('navWrap');\n\n if (e && e.target !== e.currentTarget || !activeTab) {\n return;\n } // when not scrollable or enter scrollable first time, don't emit scrolling\n\n\n var needToSroll = _this.isNextPrevShown() && _this.lastNextPrevShown;\n\n _this.lastNextPrevShown = _this.isNextPrevShown();\n\n if (!needToSroll) {\n return;\n }\n\n var activeTabWH = _this.getScrollWH(activeTab);\n\n var navWrapNodeWH = _this.getOffsetWH(navWrap);\n\n var offset = _this.offset;\n\n var wrapOffset = _this.getOffsetLT(navWrap);\n\n var activeTabOffset = _this.getOffsetLT(activeTab);\n\n if (wrapOffset > activeTabOffset) {\n offset += wrapOffset - activeTabOffset;\n\n _this.setOffset(offset);\n } else if (wrapOffset + navWrapNodeWH < activeTabOffset + activeTabWH) {\n offset -= activeTabOffset + activeTabWH - (wrapOffset + navWrapNodeWH);\n\n _this.setOffset(offset);\n }\n };\n\n _this.prev = function (e) {\n _this.props.onPrevClick(e);\n\n var navWrapNode = _this.props.getRef('navWrap');\n\n var navWrapNodeWH = _this.getOffsetWH(navWrapNode);\n\n var offset = _this.offset;\n\n _this.setOffset(offset + navWrapNodeWH);\n };\n\n _this.next = function (e) {\n _this.props.onNextClick(e);\n\n var navWrapNode = _this.props.getRef('navWrap');\n\n var navWrapNodeWH = _this.getOffsetWH(navWrapNode);\n\n var offset = _this.offset;\n\n _this.setOffset(offset - navWrapNodeWH);\n };\n\n _this.offset = 0;\n _this.state = {\n next: false,\n prev: false\n };\n return _this;\n }\n\n (0, _createClass3['default'])(ScrollableTabBarNode, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n this.componentDidUpdate();\n this.debouncedResize = (0, _debounce2['default'])(function () {\n _this2.setNextPrev();\n\n _this2.scrollToActiveTab();\n }, 200);\n this.resizeObserver = new _resizeObserverPolyfill2['default'](this.debouncedResize);\n this.resizeObserver.observe(this.props.getRef('container'));\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var props = this.props;\n\n if (prevProps && prevProps.tabBarPosition !== props.tabBarPosition) {\n this.setOffset(0);\n return;\n }\n\n var nextPrev = this.setNextPrev(); // wait next, prev show hide\n\n /* eslint react/no-did-update-set-state:0 */\n\n if (this.isNextPrevShown(this.state) !== this.isNextPrevShown(nextPrev)) {\n this.setState({}, this.scrollToActiveTab);\n } else if (!prevProps || props.activeKey !== prevProps.activeKey) {\n // can not use props.activeKey\n this.scrollToActiveTab();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.debouncedResize && this.debouncedResize.cancel) {\n this.debouncedResize.cancel();\n }\n }\n }, {\n key: 'setNextPrev',\n value: function setNextPrev() {\n var navNode = this.props.getRef('nav');\n var navTabsContainer = this.props.getRef('navTabsContainer');\n var navNodeWH = this.getScrollWH(navTabsContainer || navNode); // Add 1px to fix `offsetWidth` with decimal in Chrome not correct handle\n // https://github.com/ant-design/ant-design/issues/13423\n\n var containerWH = this.getOffsetWH(this.props.getRef('container')) + 1;\n var navWrapNodeWH = this.getOffsetWH(this.props.getRef('navWrap'));\n var offset = this.offset;\n var minOffset = containerWH - navNodeWH;\n var _state = this.state,\n next = _state.next,\n prev = _state.prev;\n\n if (minOffset >= 0) {\n next = false;\n this.setOffset(0, false);\n offset = 0;\n } else if (minOffset < offset) {\n next = true;\n } else {\n next = false; // Fix https://github.com/ant-design/ant-design/issues/8861\n // Test with container offset which is stable\n // and set the offset of the nav wrap node\n\n var realOffset = navWrapNodeWH - navNodeWH;\n this.setOffset(realOffset, false);\n offset = realOffset;\n }\n\n if (offset < 0) {\n prev = true;\n } else {\n prev = false;\n }\n\n this.setNext(next);\n this.setPrev(prev);\n return {\n next: next,\n prev: prev\n };\n }\n }, {\n key: 'getOffsetWH',\n value: function getOffsetWH(node) {\n var tabBarPosition = this.props.tabBarPosition;\n var prop = 'offsetWidth';\n\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'offsetHeight';\n }\n\n return node[prop];\n }\n }, {\n key: 'getScrollWH',\n value: function getScrollWH(node) {\n var tabBarPosition = this.props.tabBarPosition;\n var prop = 'scrollWidth';\n\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'scrollHeight';\n }\n\n return node[prop];\n }\n }, {\n key: 'getOffsetLT',\n value: function getOffsetLT(node) {\n var tabBarPosition = this.props.tabBarPosition;\n var prop = 'left';\n\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'top';\n }\n\n return node.getBoundingClientRect()[prop];\n }\n }, {\n key: 'setOffset',\n value: function setOffset(offset) {\n var checkNextPrev = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var target = Math.min(0, offset);\n\n if (this.offset !== target) {\n this.offset = target;\n var navOffset = {};\n var tabBarPosition = this.props.tabBarPosition;\n var navStyle = this.props.getRef('nav').style;\n var transformSupported = (0, _utils.isTransform3dSupported)(navStyle);\n\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n if (transformSupported) {\n navOffset = {\n value: 'translate3d(0,' + target + 'px,0)'\n };\n } else {\n navOffset = {\n name: 'top',\n value: target + 'px'\n };\n }\n } else if (transformSupported) {\n if (this.props.direction === 'rtl') {\n target = -target;\n }\n\n navOffset = {\n value: 'translate3d(' + target + 'px,0,0)'\n };\n } else {\n navOffset = {\n name: 'left',\n value: target + 'px'\n };\n }\n\n if (transformSupported) {\n (0, _utils.setTransform)(navStyle, navOffset.value);\n } else {\n navStyle[navOffset.name] = navOffset.value;\n }\n\n if (checkNextPrev) {\n this.setNextPrev();\n }\n }\n }\n }, {\n key: 'setPrev',\n value: function setPrev(v) {\n if (this.state.prev !== v) {\n this.setState({\n prev: v\n });\n }\n }\n }, {\n key: 'setNext',\n value: function setNext(v) {\n if (this.state.next !== v) {\n this.setState({\n next: v\n });\n }\n }\n }, {\n key: 'isNextPrevShown',\n value: function isNextPrevShown(state) {\n if (state) {\n return state.next || state.prev;\n }\n\n return this.state.next || this.state.prev;\n }\n }, {\n key: 'render',\n value: function render() {\n var _classnames, _classnames2, _classnames3, _classnames4;\n\n var _state2 = this.state,\n next = _state2.next,\n prev = _state2.prev;\n var _props = this.props,\n prefixCls = _props.prefixCls,\n scrollAnimated = _props.scrollAnimated,\n navWrapper = _props.navWrapper,\n prevIcon = _props.prevIcon,\n nextIcon = _props.nextIcon;\n var showNextPrev = prev || next;\n\n var prevButton = _react2['default'].createElement('span', {\n onClick: prev ? this.prev : null,\n unselectable: 'unselectable',\n className: (0, _classnames6['default'])((_classnames = {}, (0, _defineProperty3['default'])(_classnames, prefixCls + '-tab-prev', 1), (0, _defineProperty3['default'])(_classnames, prefixCls + '-tab-btn-disabled', !prev), (0, _defineProperty3['default'])(_classnames, prefixCls + '-tab-arrow-show', showNextPrev), _classnames)),\n onTransitionEnd: this.prevTransitionEnd\n }, prevIcon || _react2['default'].createElement('span', {\n className: prefixCls + '-tab-prev-icon'\n }));\n\n var nextButton = _react2['default'].createElement('span', {\n onClick: next ? this.next : null,\n unselectable: 'unselectable',\n className: (0, _classnames6['default'])((_classnames2 = {}, (0, _defineProperty3['default'])(_classnames2, prefixCls + '-tab-next', 1), (0, _defineProperty3['default'])(_classnames2, prefixCls + '-tab-btn-disabled', !next), (0, _defineProperty3['default'])(_classnames2, prefixCls + '-tab-arrow-show', showNextPrev), _classnames2))\n }, nextIcon || _react2['default'].createElement('span', {\n className: prefixCls + '-tab-next-icon'\n }));\n\n var navClassName = prefixCls + '-nav';\n var navClasses = (0, _classnames6['default'])((_classnames3 = {}, (0, _defineProperty3['default'])(_classnames3, navClassName, true), (0, _defineProperty3['default'])(_classnames3, scrollAnimated ? navClassName + '-animated' : navClassName + '-no-animated', true), _classnames3));\n return _react2['default'].createElement('div', {\n className: (0, _classnames6['default'])((_classnames4 = {}, (0, _defineProperty3['default'])(_classnames4, prefixCls + '-nav-container', 1), (0, _defineProperty3['default'])(_classnames4, prefixCls + '-nav-container-scrolling', showNextPrev), _classnames4)),\n key: 'container',\n ref: this.props.saveRef('container')\n }, prevButton, nextButton, _react2['default'].createElement('div', {\n className: prefixCls + '-nav-wrap',\n ref: this.props.saveRef('navWrap')\n }, _react2['default'].createElement('div', {\n className: prefixCls + '-nav-scroll'\n }, _react2['default'].createElement('div', {\n className: navClasses,\n ref: this.props.saveRef('nav')\n }, navWrapper(this.props.children)))));\n }\n }]);\n return ScrollableTabBarNode;\n}(_react2['default'].Component);\n\nexports['default'] = ScrollableTabBarNode;\nScrollableTabBarNode.propTypes = {\n activeKey: _propTypes2['default'].string,\n getRef: _propTypes2['default'].func.isRequired,\n saveRef: _propTypes2['default'].func.isRequired,\n tabBarPosition: _propTypes2['default'].oneOf(['left', 'right', 'top', 'bottom']),\n prefixCls: _propTypes2['default'].string,\n scrollAnimated: _propTypes2['default'].bool,\n onPrevClick: _propTypes2['default'].func,\n onNextClick: _propTypes2['default'].func,\n navWrapper: _propTypes2['default'].func,\n children: _propTypes2['default'].node,\n prevIcon: _propTypes2['default'].node,\n nextIcon: _propTypes2['default'].node,\n direction: _propTypes2['default'].node\n};\nScrollableTabBarNode.defaultProps = {\n tabBarPosition: 'left',\n prefixCls: '',\n scrollAnimated: true,\n onPrevClick: function onPrevClick() {},\n onNextClick: function onNextClick() {},\n navWrapper: function navWrapper(ele) {\n return ele;\n }\n};\nmodule.exports = exports['default'];","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\n\n/* eslint-disable require-jsdoc, valid-jsdoc */\nvar MapShim = function () {\n if (typeof Map !== 'undefined') {\n return Map;\n }\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\n\n\n function getIndex(arr, key) {\n var result = -1;\n arr.some(function (entry, index) {\n if (entry[0] === key) {\n result = index;\n return true;\n }\n\n return false;\n });\n return result;\n }\n\n return (\n /** @class */\n function () {\n function class_1() {\n this.__entries__ = [];\n }\n\n Object.defineProperty(class_1.prototype, \"size\", {\n /**\r\n * @returns {boolean}\r\n */\n get: function get() {\n return this.__entries__.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\n\n class_1.prototype.get = function (key) {\n var index = getIndex(this.__entries__, key);\n var entry = this.__entries__[index];\n return entry && entry[1];\n };\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.set = function (key, value) {\n var index = getIndex(this.__entries__, key);\n\n if (~index) {\n this.__entries__[index][1] = value;\n } else {\n this.__entries__.push([key, value]);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.delete = function (key) {\n var entries = this.__entries__;\n var index = getIndex(entries, key);\n\n if (~index) {\n entries.splice(index, 1);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.has = function (key) {\n return !!~getIndex(this.__entries__, key);\n };\n /**\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.clear = function () {\n this.__entries__.splice(0);\n };\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.forEach = function (callback, ctx) {\n if (ctx === void 0) {\n ctx = null;\n }\n\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\n var entry = _a[_i];\n callback.call(ctx, entry[1], entry[0]);\n }\n };\n\n return class_1;\n }()\n );\n}();\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\n\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document; // Returns global object of a current environment.\n\nvar global$1 = function () {\n if (typeof global !== 'undefined' && global.Math === Math) {\n return global;\n }\n\n if (typeof self !== 'undefined' && self.Math === Math) {\n return self;\n }\n\n if (typeof window !== 'undefined' && window.Math === Math) {\n return window;\n } // eslint-disable-next-line no-new-func\n\n\n return Function('return this')();\n}();\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\n\n\nvar requestAnimationFrame$1 = function () {\n if (typeof requestAnimationFrame === 'function') {\n // It's required to use a bounded function because IE sometimes throws\n // an \"Invalid calling object\" error if rAF is invoked without the global\n // object on the left hand side.\n return requestAnimationFrame.bind(global$1);\n }\n\n return function (callback) {\n return setTimeout(function () {\n return callback(Date.now());\n }, 1000 / 60);\n };\n}(); // Defines minimum timeout before adding a trailing call.\n\n\nvar trailingTimeout = 2;\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\n\nfunction throttle(callback, delay) {\n var leadingCall = false,\n trailingCall = false,\n lastCallTime = 0;\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\n\n function resolvePending() {\n if (leadingCall) {\n leadingCall = false;\n callback();\n }\n\n if (trailingCall) {\n proxy();\n }\n }\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\n\n\n function timeoutCallback() {\n requestAnimationFrame$1(resolvePending);\n }\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\n\n\n function proxy() {\n var timeStamp = Date.now();\n\n if (leadingCall) {\n // Reject immediately following calls.\n if (timeStamp - lastCallTime < trailingTimeout) {\n return;\n } // Schedule new call to be in invoked when the pending one is resolved.\n // This is important for \"transitions\" which never actually start\n // immediately so there is a chance that we might miss one if change\n // happens amids the pending invocation.\n\n\n trailingCall = true;\n } else {\n leadingCall = true;\n trailingCall = false;\n setTimeout(timeoutCallback, delay);\n }\n\n lastCallTime = timeStamp;\n }\n\n return proxy;\n} // Minimum delay before invoking the update of observers.\n\n\nvar REFRESH_DELAY = 20; // A list of substrings of CSS properties used to find transition events that\n// might affect dimensions of observed elements.\n\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight']; // Check if MutationObserver is available.\n\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\n\nvar ResizeObserverController =\n/** @class */\nfunction () {\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\n function ResizeObserverController() {\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\n this.connected_ = false;\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\n\n this.mutationEventsAdded_ = false;\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\n\n this.mutationsObserver_ = null;\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\n\n this.observers_ = [];\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\n }\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.addObserver = function (observer) {\n if (!~this.observers_.indexOf(observer)) {\n this.observers_.push(observer);\n } // Add listeners if they haven't been added yet.\n\n\n if (!this.connected_) {\n this.connect_();\n }\n };\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.removeObserver = function (observer) {\n var observers = this.observers_;\n var index = observers.indexOf(observer); // Remove observer if it's present in registry.\n\n if (~index) {\n observers.splice(index, 1);\n } // Remove listeners if controller has no connected observers.\n\n\n if (!observers.length && this.connected_) {\n this.disconnect_();\n }\n };\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.refresh = function () {\n var changesDetected = this.updateObservers_(); // Continue running updates if changes have been detected as there might\n // be future ones caused by CSS transitions.\n\n if (changesDetected) {\n this.refresh();\n }\n };\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\n\n\n ResizeObserverController.prototype.updateObservers_ = function () {\n // Collect observers that have active observations.\n var activeObservers = this.observers_.filter(function (observer) {\n return observer.gatherActive(), observer.hasActive();\n }); // Deliver notifications in a separate cycle in order to avoid any\n // collisions between observers, e.g. when multiple instances of\n // ResizeObserver are tracking the same element and the callback of one\n // of them changes content dimensions of the observed target. Sometimes\n // this may result in notifications being blocked for the rest of observers.\n\n activeObservers.forEach(function (observer) {\n return observer.broadcastActive();\n });\n return activeObservers.length > 0;\n };\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.connect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already added.\n if (!isBrowser || this.connected_) {\n return;\n } // Subscription to the \"Transitionend\" event is used as a workaround for\n // delayed transitions. This way it's possible to capture at least the\n // final state of an element.\n\n\n document.addEventListener('transitionend', this.onTransitionEnd_);\n window.addEventListener('resize', this.refresh);\n\n if (mutationObserverSupported) {\n this.mutationsObserver_ = new MutationObserver(this.refresh);\n this.mutationsObserver_.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n } else {\n document.addEventListener('DOMSubtreeModified', this.refresh);\n this.mutationEventsAdded_ = true;\n }\n\n this.connected_ = true;\n };\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.disconnect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already removed.\n if (!isBrowser || !this.connected_) {\n return;\n }\n\n document.removeEventListener('transitionend', this.onTransitionEnd_);\n window.removeEventListener('resize', this.refresh);\n\n if (this.mutationsObserver_) {\n this.mutationsObserver_.disconnect();\n }\n\n if (this.mutationEventsAdded_) {\n document.removeEventListener('DOMSubtreeModified', this.refresh);\n }\n\n this.mutationsObserver_ = null;\n this.mutationEventsAdded_ = false;\n this.connected_ = false;\n };\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\n var _b = _a.propertyName,\n propertyName = _b === void 0 ? '' : _b; // Detect whether transition may affect dimensions of an element.\n\n var isReflowProperty = transitionKeys.some(function (key) {\n return !!~propertyName.indexOf(key);\n });\n\n if (isReflowProperty) {\n this.refresh();\n }\n };\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\n\n\n ResizeObserverController.getInstance = function () {\n if (!this.instance_) {\n this.instance_ = new ResizeObserverController();\n }\n\n return this.instance_;\n };\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\n\n\n ResizeObserverController.instance_ = null;\n return ResizeObserverController;\n}();\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\n\n\nvar defineConfigurable = function defineConfigurable(target, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var key = _a[_i];\n Object.defineProperty(target, key, {\n value: props[key],\n enumerable: false,\n writable: false,\n configurable: true\n });\n }\n\n return target;\n};\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\n\n\nvar getWindowOf = function getWindowOf(target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView; // Return the local global object if it's not possible extract one from\n // provided element.\n\n return ownerGlobal || global$1;\n}; // Placeholder of an empty content rectangle.\n\n\nvar emptyRect = createRectInit(0, 0, 0, 0);\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\n\nfunction toFloat(value) {\n return parseFloat(value) || 0;\n}\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\n\n\nfunction getBordersSize(styles) {\n var positions = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n positions[_i - 1] = arguments[_i];\n }\n\n return positions.reduce(function (size, position) {\n var value = styles['border-' + position + '-width'];\n return size + toFloat(value);\n }, 0);\n}\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\n\n\nfunction getPaddings(styles) {\n var positions = ['top', 'right', 'bottom', 'left'];\n var paddings = {};\n\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\n var position = positions_1[_i];\n var value = styles['padding-' + position];\n paddings[position] = toFloat(value);\n }\n\n return paddings;\n}\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getSVGContentRect(target) {\n var bbox = target.getBBox();\n return createRectInit(0, 0, bbox.width, bbox.height);\n}\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getHTMLElementContentRect(target) {\n // Client width & height properties can't be\n // used exclusively as they provide rounded values.\n var clientWidth = target.clientWidth,\n clientHeight = target.clientHeight; // By this condition we can catch all non-replaced inline, hidden and\n // detached elements. Though elements with width & height properties less\n // than 0.5 will be discarded as well.\n //\n // Without it we would need to implement separate methods for each of\n // those cases and it's not possible to perform a precise and performance\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\n // gives wrong results for elements with width & height less than 0.5.\n\n if (!clientWidth && !clientHeight) {\n return emptyRect;\n }\n\n var styles = getWindowOf(target).getComputedStyle(target);\n var paddings = getPaddings(styles);\n var horizPad = paddings.left + paddings.right;\n var vertPad = paddings.top + paddings.bottom; // Computed styles of width & height are being used because they are the\n // only dimensions available to JS that contain non-rounded values. It could\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\n // affected by CSS transformations let alone paddings, borders and scroll bars.\n\n var width = toFloat(styles.width),\n height = toFloat(styles.height); // Width & height include paddings and borders when the 'border-box' box\n // model is applied (except for IE).\n\n if (styles.boxSizing === 'border-box') {\n // Following conditions are required to handle Internet Explorer which\n // doesn't include paddings and borders to computed CSS dimensions.\n //\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\n // properties then it's either IE, and thus we don't need to subtract\n // anything, or an element merely doesn't have paddings/borders styles.\n if (Math.round(width + horizPad) !== clientWidth) {\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\n }\n\n if (Math.round(height + vertPad) !== clientHeight) {\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\n }\n } // Following steps can't be applied to the document's root element as its\n // client[Width/Height] properties represent viewport area of the window.\n // Besides, it's as well not necessary as the itself neither has\n // rendered scroll bars nor it can be clipped.\n\n\n if (!isDocumentElement(target)) {\n // In some browsers (only in Firefox, actually) CSS width & height\n // include scroll bars size which can be removed at this step as scroll\n // bars are the only difference between rounded dimensions + paddings\n // and \"client\" properties, though that is not always true in Chrome.\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\n var horizScrollbar = Math.round(height + vertPad) - clientHeight; // Chrome has a rather weird rounding of \"client\" properties.\n // E.g. for an element with content width of 314.2px it sometimes gives\n // the client width of 315px and for the width of 314.7px it may give\n // 314px. And it doesn't happen all the time. So just ignore this delta\n // as a non-relevant.\n\n if (Math.abs(vertScrollbar) !== 1) {\n width -= vertScrollbar;\n }\n\n if (Math.abs(horizScrollbar) !== 1) {\n height -= horizScrollbar;\n }\n }\n\n return createRectInit(paddings.left, paddings.top, width, height);\n}\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\n\n\nvar isSVGGraphicsElement = function () {\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\n // interface.\n if (typeof SVGGraphicsElement !== 'undefined') {\n return function (target) {\n return target instanceof getWindowOf(target).SVGGraphicsElement;\n };\n } // If it's so, then check that element is at least an instance of the\n // SVGElement and that it has the \"getBBox\" method.\n // eslint-disable-next-line no-extra-parens\n\n\n return function (target) {\n return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function';\n };\n}();\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\n\n\nfunction isDocumentElement(target) {\n return target === getWindowOf(target).document.documentElement;\n}\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getContentRect(target) {\n if (!isBrowser) {\n return emptyRect;\n }\n\n if (isSVGGraphicsElement(target)) {\n return getSVGContentRect(target);\n }\n\n return getHTMLElementContentRect(target);\n}\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\n\n\nfunction createReadOnlyRect(_a) {\n var x = _a.x,\n y = _a.y,\n width = _a.width,\n height = _a.height; // If DOMRectReadOnly is available use it as a prototype for the rectangle.\n\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\n var rect = Object.create(Constr.prototype); // Rectangle's properties are not writable and non-enumerable.\n\n defineConfigurable(rect, {\n x: x,\n y: y,\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: height + y,\n left: x\n });\n return rect;\n}\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction createRectInit(x, y, width, height) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n}\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\n\n\nvar ResizeObservation =\n/** @class */\nfunction () {\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\n function ResizeObservation(target) {\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastWidth = 0;\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\n\n this.broadcastHeight = 0;\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\n\n this.contentRect_ = createRectInit(0, 0, 0, 0);\n this.target = target;\n }\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\n\n\n ResizeObservation.prototype.isActive = function () {\n var rect = getContentRect(this.target);\n this.contentRect_ = rect;\n return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;\n };\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\n\n\n ResizeObservation.prototype.broadcastRect = function () {\n var rect = this.contentRect_;\n this.broadcastWidth = rect.width;\n this.broadcastHeight = rect.height;\n return rect;\n };\n\n return ResizeObservation;\n}();\n\nvar ResizeObserverEntry =\n/** @class */\nfunction () {\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\n function ResizeObserverEntry(target, rectInit) {\n var contentRect = createReadOnlyRect(rectInit); // According to the specification following properties are not writable\n // and are also not enumerable in the native implementation.\n //\n // Property accessors are not being used as they'd require to define a\n // private WeakMap storage which may cause memory leaks in browsers that\n // don't support this type of collections.\n\n defineConfigurable(this, {\n target: target,\n contentRect: contentRect\n });\n }\n\n return ResizeObserverEntry;\n}();\n\nvar ResizeObserverSPI =\n/** @class */\nfunction () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\n function ResizeObserverSPI(callback, controller, callbackCtx) {\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\n this.activeObservations_ = [];\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\n\n this.observations_ = new MapShim();\n\n if (typeof callback !== 'function') {\n throw new TypeError('The callback provided as parameter 1 is not a function.');\n }\n\n this.callback_ = callback;\n this.controller_ = controller;\n this.callbackCtx_ = callbackCtx;\n }\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.observe = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is already being observed.\n\n if (observations.has(target)) {\n return;\n }\n\n observations.set(target, new ResizeObservation(target));\n this.controller_.addObserver(this); // Force the update of observations.\n\n this.controller_.refresh();\n };\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.unobserve = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is not being observed.\n\n if (!observations.has(target)) {\n return;\n }\n\n observations.delete(target);\n\n if (!observations.size) {\n this.controller_.removeObserver(this);\n }\n };\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.disconnect = function () {\n this.clearActive();\n this.observations_.clear();\n this.controller_.removeObserver(this);\n };\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.gatherActive = function () {\n var _this = this;\n\n this.clearActive();\n this.observations_.forEach(function (observation) {\n if (observation.isActive()) {\n _this.activeObservations_.push(observation);\n }\n });\n };\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.broadcastActive = function () {\n // Do nothing if observer doesn't have active observations.\n if (!this.hasActive()) {\n return;\n }\n\n var ctx = this.callbackCtx_; // Create ResizeObserverEntry instance for every active observation.\n\n var entries = this.activeObservations_.map(function (observation) {\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\n });\n this.callback_.call(ctx, entries, ctx);\n this.clearActive();\n };\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n };\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\n\n\n ResizeObserverSPI.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n };\n\n return ResizeObserverSPI;\n}(); // Registry of internal observers. If WeakMap is not available use current shim\n// for the Map collection as it has all required methods and because WeakMap\n// can't be fully polyfilled anyway.\n\n\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\n\nvar ResizeObserver =\n/** @class */\nfunction () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\n function ResizeObserver(callback) {\n if (!(this instanceof ResizeObserver)) {\n throw new TypeError('Cannot call a class as a function.');\n }\n\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n\n var controller = ResizeObserverController.getInstance();\n var observer = new ResizeObserverSPI(callback, controller, this);\n observers.set(this, observer);\n }\n\n return ResizeObserver;\n}(); // Expose public methods of ResizeObserver.\n\n\n['observe', 'unobserve', 'disconnect'].forEach(function (method) {\n ResizeObserver.prototype[method] = function () {\n var _a;\n\n return (_a = observers.get(this))[method].apply(_a, arguments);\n };\n});\n\nvar index = function () {\n // Export existing implementation if available.\n if (typeof global$1.ResizeObserver !== 'undefined') {\n return global$1.ResizeObserver;\n }\n\n return ResizeObserver;\n}();\n\nexport default index;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _defineProperty2 = require('babel-runtime/helpers/defineProperty');\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');\n\nvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames2 = require('classnames');\n\nvar _classnames3 = _interopRequireDefault(_classnames2);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar TabBarRootNode = function (_React$Component) {\n (0, _inherits3['default'])(TabBarRootNode, _React$Component);\n\n function TabBarRootNode() {\n (0, _classCallCheck3['default'])(this, TabBarRootNode);\n return (0, _possibleConstructorReturn3['default'])(this, (TabBarRootNode.__proto__ || Object.getPrototypeOf(TabBarRootNode)).apply(this, arguments));\n }\n\n (0, _createClass3['default'])(TabBarRootNode, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n prefixCls = _props.prefixCls,\n onKeyDown = _props.onKeyDown,\n className = _props.className,\n extraContent = _props.extraContent,\n style = _props.style,\n tabBarPosition = _props.tabBarPosition,\n children = _props.children,\n restProps = (0, _objectWithoutProperties3['default'])(_props, ['prefixCls', 'onKeyDown', 'className', 'extraContent', 'style', 'tabBarPosition', 'children']);\n var cls = (0, _classnames3['default'])(prefixCls + '-bar', (0, _defineProperty3['default'])({}, className, !!className));\n var topOrBottom = tabBarPosition === 'top' || tabBarPosition === 'bottom';\n var tabBarExtraContentStyle = topOrBottom ? {\n float: 'right'\n } : {};\n var extraContentStyle = extraContent && extraContent.props ? extraContent.props.style : {};\n var newChildren = children;\n\n if (extraContent) {\n newChildren = [(0, _react.cloneElement)(extraContent, {\n key: 'extra',\n style: (0, _extends3['default'])({}, tabBarExtraContentStyle, extraContentStyle)\n }), (0, _react.cloneElement)(children, {\n key: 'content'\n })];\n newChildren = topOrBottom ? newChildren : newChildren.reverse();\n }\n\n return _react2['default'].createElement('div', (0, _extends3['default'])({\n role: 'tablist',\n className: cls,\n tabIndex: '0',\n ref: this.props.saveRef('root'),\n onKeyDown: onKeyDown,\n style: style\n }, (0, _utils.getDataAttr)(restProps)), newChildren);\n }\n }]);\n return TabBarRootNode;\n}(_react2['default'].Component);\n\nexports['default'] = TabBarRootNode;\nTabBarRootNode.propTypes = {\n prefixCls: _propTypes2['default'].string,\n className: _propTypes2['default'].string,\n style: _propTypes2['default'].object,\n tabBarPosition: _propTypes2['default'].oneOf(['left', 'right', 'top', 'bottom']),\n children: _propTypes2['default'].node,\n extraContent: _propTypes2['default'].node,\n onKeyDown: _propTypes2['default'].func,\n saveRef: _propTypes2['default'].func\n};\nTabBarRootNode.defaultProps = {\n prefixCls: '',\n className: '',\n style: {},\n tabBarPosition: 'top',\n extraContent: null,\n children: null,\n onKeyDown: function onKeyDown() {},\n saveRef: function saveRef() {}\n};\nmodule.exports = exports['default'];","export default {\n /**\n * LEFT\n */\n LEFT: 37,\n // also NUM_WEST\n\n /**\n * UP\n */\n UP: 38,\n // also NUM_NORTH\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n // also NUM_EAST\n\n /**\n * DOWN\n */\n DOWN: 40 // also NUM_SOUTH\n\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport React from 'react';\nexport function toArray(children) {\n // allow [c,[a,b]]\n var c = [];\n React.Children.forEach(children, function (child) {\n if (child) {\n c.push(child);\n }\n });\n return c;\n}\nexport function getActiveIndex(children, activeKey) {\n var c = toArray(children);\n\n for (var i = 0; i < c.length; i++) {\n if (c[i].key === activeKey) {\n return i;\n }\n }\n\n return -1;\n}\nexport function getActiveKey(children, index) {\n var c = toArray(children);\n return c[index].key;\n}\nexport function setTransform(style, v) {\n style.transform = v;\n style.webkitTransform = v;\n style.mozTransform = v;\n}\nexport function isTransform3dSupported(style) {\n return ('transform' in style || 'webkitTransform' in style || 'MozTransform' in style) && window.atob;\n}\nexport function setTransition(style, v) {\n style.transition = v;\n style.webkitTransition = v;\n style.MozTransition = v;\n}\nexport function getTransformPropValue(v) {\n return {\n transform: v,\n WebkitTransform: v,\n MozTransform: v\n };\n}\nexport function isVertical(tabBarPosition) {\n return tabBarPosition === 'left' || tabBarPosition === 'right';\n}\nexport function getTransformByIndex(index, tabBarPosition) {\n var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'ltr';\n var translate = isVertical(tabBarPosition) ? 'translateY' : 'translateX';\n\n if (!isVertical(tabBarPosition) && direction === 'rtl') {\n return translate + '(' + index * 100 + '%) translateZ(0)';\n }\n\n return translate + '(' + -index * 100 + '%) translateZ(0)';\n}\nexport function getMarginStyle(index, tabBarPosition) {\n var marginDirection = isVertical(tabBarPosition) ? 'marginTop' : 'marginLeft';\n return _defineProperty({}, marginDirection, -index * 100 + '%');\n}\nexport function getStyle(el, property) {\n return +window.getComputedStyle(el).getPropertyValue(property).replace('px', '');\n}\nexport function setPxStyle(el, value, vertical) {\n value = vertical ? '0px, ' + value + 'px, 0px' : value + 'px, 0px, 0px';\n setTransform(el.style, 'translate3d(' + value + ')');\n}\nexport function getDataAttr(props) {\n return Object.keys(props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = props[key];\n }\n\n return prev;\n }, {});\n}\n\nfunction toNum(style, property) {\n return +style.getPropertyValue(property).replace('px', '');\n}\n\nfunction getTypeValue(start, current, end, tabNode, wrapperNode) {\n var total = getStyle(wrapperNode, 'padding-' + start);\n\n if (!tabNode || !tabNode.parentNode) {\n return total;\n }\n\n var childNodes = tabNode.parentNode.childNodes;\n Array.prototype.some.call(childNodes, function (node) {\n var style = window.getComputedStyle(node);\n\n if (node !== tabNode) {\n total += toNum(style, 'margin-' + start);\n total += node[current];\n total += toNum(style, 'margin-' + end);\n\n if (style.boxSizing === 'content-box') {\n total += toNum(style, 'border-' + start + '-width') + toNum(style, 'border-' + end + '-width');\n }\n\n return false;\n } // We need count current node margin\n // ref: https://github.com/react-component/tabs/pull/139#issuecomment-431005262\n\n\n total += toNum(style, 'margin-' + start);\n return true;\n });\n return total;\n}\n\nexport function getLeft(tabNode, wrapperNode) {\n return getTypeValue('left', 'offsetWidth', 'right', tabNode, wrapperNode);\n}\nexport function getTop(tabNode, wrapperNode) {\n return getTypeValue('top', 'offsetHeight', 'bottom', tabNode, wrapperNode);\n}","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\nimport React from 'react';\nimport KeyCode from 'rc-util/es/KeyCode';\nimport createReactContext from '@ant-design/create-react-context';\nvar SentinelContext = createReactContext({});\nexport var SentinelProvider = SentinelContext.Provider;\nexport var SentinelConsumer = SentinelContext.Consumer;\nvar sentinelStyle = {\n width: 0,\n height: 0,\n overflow: 'hidden',\n position: 'absolute'\n};\n\nvar Sentinel = function (_React$Component) {\n _inherits(Sentinel, _React$Component);\n\n function Sentinel() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Sentinel);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Sentinel.__proto__ || Object.getPrototypeOf(Sentinel)).call.apply(_ref, [this].concat(args))), _this), _this.onKeyDown = function (_ref2) {\n var target = _ref2.target,\n which = _ref2.which,\n shiftKey = _ref2.shiftKey;\n var _this$props = _this.props,\n nextElement = _this$props.nextElement,\n prevElement = _this$props.prevElement;\n if (which !== KeyCode.TAB || document.activeElement !== target) return; // Tab next\n\n if (!shiftKey && nextElement) {\n nextElement.focus();\n } // Tab prev\n\n\n if (shiftKey && prevElement) {\n prevElement.focus();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Sentinel, [{\n key: 'render',\n value: function render() {\n var setRef = this.props.setRef;\n return React.createElement('div', {\n tabIndex: 0,\n ref: setRef,\n style: sentinelStyle,\n onKeyDown: this.onKeyDown,\n role: 'presentation'\n });\n }\n }]);\n\n return Sentinel;\n}(React.Component);\n\nexport default Sentinel;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport classnames from 'classnames';\nimport { getDataAttr } from './utils';\nimport Sentinel, { SentinelConsumer } from './Sentinel';\n\nvar TabPane = function (_React$Component) {\n _inherits(TabPane, _React$Component);\n\n function TabPane() {\n _classCallCheck(this, TabPane);\n\n return _possibleConstructorReturn(this, (TabPane.__proto__ || Object.getPrototypeOf(TabPane)).apply(this, arguments));\n }\n\n _createClass(TabPane, [{\n key: 'render',\n value: function render() {\n var _classnames;\n\n var _props = this.props,\n id = _props.id,\n className = _props.className,\n destroyInactiveTabPane = _props.destroyInactiveTabPane,\n active = _props.active,\n forceRender = _props.forceRender,\n rootPrefixCls = _props.rootPrefixCls,\n style = _props.style,\n children = _props.children,\n placeholder = _props.placeholder,\n restProps = _objectWithoutProperties(_props, ['id', 'className', 'destroyInactiveTabPane', 'active', 'forceRender', 'rootPrefixCls', 'style', 'children', 'placeholder']);\n\n this._isActived = this._isActived || active;\n var prefixCls = rootPrefixCls + '-tabpane';\n var cls = classnames((_classnames = {}, _defineProperty(_classnames, prefixCls, 1), _defineProperty(_classnames, prefixCls + '-inactive', !active), _defineProperty(_classnames, prefixCls + '-active', active), _defineProperty(_classnames, className, className), _classnames));\n var isRender = destroyInactiveTabPane ? active : this._isActived;\n var shouldRender = isRender || forceRender;\n return React.createElement(SentinelConsumer, null, function (_ref) {\n var sentinelStart = _ref.sentinelStart,\n sentinelEnd = _ref.sentinelEnd,\n setPanelSentinelStart = _ref.setPanelSentinelStart,\n setPanelSentinelEnd = _ref.setPanelSentinelEnd; // Create sentinel\n\n var panelSentinelStart = void 0;\n var panelSentinelEnd = void 0;\n\n if (active && shouldRender) {\n panelSentinelStart = React.createElement(Sentinel, {\n setRef: setPanelSentinelStart,\n prevElement: sentinelStart\n });\n panelSentinelEnd = React.createElement(Sentinel, {\n setRef: setPanelSentinelEnd,\n nextElement: sentinelEnd\n });\n }\n\n return React.createElement('div', _extends({\n style: style,\n role: 'tabpanel',\n 'aria-hidden': active ? 'false' : 'true',\n className: cls,\n id: id\n }, getDataAttr(restProps)), panelSentinelStart, shouldRender ? children : placeholder, panelSentinelEnd);\n });\n }\n }]);\n\n return TabPane;\n}(React.Component);\n\nexport default TabPane;\nTabPane.defaultProps = {\n placeholder: null\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport classnames from 'classnames';\nimport raf from 'raf';\nimport { polyfill } from 'react-lifecycles-compat';\nimport KeyCode from './KeyCode';\nimport TabPane from './TabPane';\nimport { getDataAttr } from './utils';\nimport Sentinel, { SentinelProvider } from './Sentinel';\n\nfunction noop() {}\n\nfunction getDefaultActiveKey(props) {\n var activeKey = void 0;\n React.Children.forEach(props.children, function (child) {\n if (child && !activeKey && !child.props.disabled) {\n activeKey = child.key;\n }\n });\n return activeKey;\n}\n\nfunction activeKeyIsValid(props, key) {\n var keys = React.Children.map(props.children, function (child) {\n return child && child.key;\n });\n return keys.indexOf(key) >= 0;\n}\n\nvar Tabs = function (_React$Component) {\n _inherits(Tabs, _React$Component);\n\n function Tabs(props) {\n _classCallCheck(this, Tabs);\n\n var _this = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, props));\n\n _initialiseProps.call(_this);\n\n var activeKey = void 0;\n\n if ('activeKey' in props) {\n activeKey = props.activeKey;\n } else if ('defaultActiveKey' in props) {\n activeKey = props.defaultActiveKey;\n } else {\n activeKey = getDefaultActiveKey(props);\n }\n\n _this.state = {\n activeKey: activeKey\n };\n return _this;\n }\n\n _createClass(Tabs, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.destroy = true;\n raf.cancel(this.sentinelId);\n } // Sentinel for tab index\n\n }, {\n key: 'updateSentinelContext',\n value: function updateSentinelContext() {\n var _this2 = this;\n\n if (this.destroy) return;\n raf.cancel(this.sentinelId);\n this.sentinelId = raf(function () {\n if (_this2.destroy) return;\n\n _this2.forceUpdate();\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _classnames;\n\n var props = this.props;\n\n var prefixCls = props.prefixCls,\n navWrapper = props.navWrapper,\n tabBarPosition = props.tabBarPosition,\n className = props.className,\n renderTabContent = props.renderTabContent,\n renderTabBar = props.renderTabBar,\n destroyInactiveTabPane = props.destroyInactiveTabPane,\n direction = props.direction,\n restProps = _objectWithoutProperties(props, ['prefixCls', 'navWrapper', 'tabBarPosition', 'className', 'renderTabContent', 'renderTabBar', 'destroyInactiveTabPane', 'direction']);\n\n var cls = classnames((_classnames = {}, _defineProperty(_classnames, prefixCls, 1), _defineProperty(_classnames, prefixCls + '-' + tabBarPosition, 1), _defineProperty(_classnames, className, !!className), _defineProperty(_classnames, prefixCls + '-rtl', direction === 'rtl'), _classnames));\n this.tabBar = renderTabBar();\n var tabBar = React.cloneElement(this.tabBar, {\n prefixCls: prefixCls,\n navWrapper: navWrapper,\n key: 'tabBar',\n onKeyDown: this.onNavKeyDown,\n tabBarPosition: tabBarPosition,\n onTabClick: this.onTabClick,\n panels: props.children,\n activeKey: this.state.activeKey,\n direction: this.props.direction\n });\n var tabContent = React.cloneElement(renderTabContent(), {\n prefixCls: prefixCls,\n tabBarPosition: tabBarPosition,\n activeKey: this.state.activeKey,\n destroyInactiveTabPane: destroyInactiveTabPane,\n children: props.children,\n onChange: this.setActiveKey,\n key: 'tabContent',\n direction: this.props.direction\n });\n var sentinelStart = React.createElement(Sentinel, {\n key: 'sentinelStart',\n setRef: this.setSentinelStart,\n nextElement: this.panelSentinelStart\n });\n var sentinelEnd = React.createElement(Sentinel, {\n key: 'sentinelEnd',\n setRef: this.setSentinelEnd,\n prevElement: this.panelSentinelEnd\n });\n var contents = [];\n\n if (tabBarPosition === 'bottom') {\n contents.push(sentinelStart, tabContent, sentinelEnd, tabBar);\n } else {\n contents.push(tabBar, sentinelStart, tabContent, sentinelEnd);\n }\n\n return React.createElement(SentinelProvider, {\n value: {\n sentinelStart: this.sentinelStart,\n sentinelEnd: this.sentinelEnd,\n setPanelSentinelStart: this.setPanelSentinelStart,\n setPanelSentinelEnd: this.setPanelSentinelEnd\n }\n }, React.createElement('div', _extends({\n className: cls,\n style: props.style\n }, getDataAttr(restProps), {\n onScroll: this.onScroll\n }), contents));\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, state) {\n var newState = {};\n\n if ('activeKey' in props) {\n newState.activeKey = props.activeKey;\n } else if (!activeKeyIsValid(props, state.activeKey)) {\n newState.activeKey = getDefaultActiveKey(props);\n }\n\n if (Object.keys(newState).length > 0) {\n return newState;\n }\n\n return null;\n }\n }]);\n\n return Tabs;\n}(React.Component);\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onTabClick = function (activeKey, e) {\n if (_this3.tabBar.props.onTabClick) {\n _this3.tabBar.props.onTabClick(activeKey, e);\n }\n\n _this3.setActiveKey(activeKey);\n };\n\n this.onNavKeyDown = function (e) {\n var eventKeyCode = e.keyCode;\n\n if (eventKeyCode === KeyCode.RIGHT || eventKeyCode === KeyCode.DOWN) {\n e.preventDefault();\n\n var nextKey = _this3.getNextActiveKey(true);\n\n _this3.onTabClick(nextKey);\n } else if (eventKeyCode === KeyCode.LEFT || eventKeyCode === KeyCode.UP) {\n e.preventDefault();\n\n var previousKey = _this3.getNextActiveKey(false);\n\n _this3.onTabClick(previousKey);\n }\n };\n\n this.onScroll = function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n\n if (target === currentTarget && target.scrollLeft > 0) {\n target.scrollLeft = 0;\n }\n };\n\n this.setSentinelStart = function (node) {\n _this3.sentinelStart = node;\n };\n\n this.setSentinelEnd = function (node) {\n _this3.sentinelEnd = node;\n };\n\n this.setPanelSentinelStart = function (node) {\n if (node !== _this3.panelSentinelStart) {\n _this3.updateSentinelContext();\n }\n\n _this3.panelSentinelStart = node;\n };\n\n this.setPanelSentinelEnd = function (node) {\n if (node !== _this3.panelSentinelEnd) {\n _this3.updateSentinelContext();\n }\n\n _this3.panelSentinelEnd = node;\n };\n\n this.setActiveKey = function (activeKey) {\n if (_this3.state.activeKey !== activeKey) {\n if (!('activeKey' in _this3.props)) {\n _this3.setState({\n activeKey: activeKey\n });\n }\n\n _this3.props.onChange(activeKey);\n }\n };\n\n this.getNextActiveKey = function (next) {\n var activeKey = _this3.state.activeKey;\n var children = [];\n React.Children.forEach(_this3.props.children, function (c) {\n if (c && !c.props.disabled) {\n if (next) {\n children.push(c);\n } else {\n children.unshift(c);\n }\n }\n });\n var length = children.length;\n var ret = length && children[0].key;\n children.forEach(function (child, i) {\n if (child.key === activeKey) {\n if (i === length - 1) {\n ret = children[0].key;\n } else {\n ret = children[i + 1].key;\n }\n }\n });\n return ret;\n };\n};\n\nTabs.defaultProps = {\n prefixCls: 'rc-tabs',\n destroyInactiveTabPane: false,\n onChange: noop,\n navWrapper: function navWrapper(arg) {\n return arg;\n },\n tabBarPosition: 'top',\n children: null,\n style: {},\n direction: 'ltr'\n};\nTabs.TabPane = TabPane;\npolyfill(Tabs);\nexport default Tabs;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport classnames from 'classnames';\nimport { getTransformByIndex, getActiveIndex, getTransformPropValue, getMarginStyle } from './utils';\n\nvar TabContent = function (_React$Component) {\n _inherits(TabContent, _React$Component);\n\n function TabContent() {\n _classCallCheck(this, TabContent);\n\n return _possibleConstructorReturn(this, (TabContent.__proto__ || Object.getPrototypeOf(TabContent)).apply(this, arguments));\n }\n\n _createClass(TabContent, [{\n key: 'getTabPanes',\n value: function getTabPanes() {\n var props = this.props;\n var activeKey = props.activeKey;\n var children = props.children;\n var newChildren = [];\n React.Children.forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var key = child.key;\n var active = activeKey === key;\n newChildren.push(React.cloneElement(child, {\n active: active,\n destroyInactiveTabPane: props.destroyInactiveTabPane,\n rootPrefixCls: props.prefixCls\n }));\n });\n return newChildren;\n }\n }, {\n key: 'render',\n value: function render() {\n var _classnames;\n\n var props = this.props;\n var prefixCls = props.prefixCls,\n children = props.children,\n activeKey = props.activeKey,\n className = props.className,\n tabBarPosition = props.tabBarPosition,\n animated = props.animated,\n animatedWithMargin = props.animatedWithMargin,\n direction = props.direction;\n var style = props.style;\n var classes = classnames((_classnames = {}, _defineProperty(_classnames, prefixCls + '-content', true), _defineProperty(_classnames, animated ? prefixCls + '-content-animated' : prefixCls + '-content-no-animated', true), _classnames), className);\n\n if (animated) {\n var activeIndex = getActiveIndex(children, activeKey);\n\n if (activeIndex !== -1) {\n var animatedStyle = animatedWithMargin ? getMarginStyle(activeIndex, tabBarPosition) : getTransformPropValue(getTransformByIndex(activeIndex, tabBarPosition, direction));\n style = _extends({}, style, animatedStyle);\n } else {\n style = _extends({}, style, {\n display: 'none'\n });\n }\n }\n\n return React.createElement('div', {\n className: classes,\n style: style\n }, this.getTabPanes());\n }\n }]);\n\n return TabContent;\n}(React.Component);\n\nexport default TabContent;\nTabContent.defaultProps = {\n animated: true\n};","import Tabs from './Tabs';\nimport TabPane from './TabPane';\nimport TabContent from './TabContent';\nexport default Tabs;\nexport { TabPane, TabContent };","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _defineProperty2 = require('babel-runtime/helpers/defineProperty');\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames2 = require('classnames');\n\nvar _classnames3 = _interopRequireDefault(_classnames2);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar TabContent = function (_React$Component) {\n (0, _inherits3['default'])(TabContent, _React$Component);\n\n function TabContent() {\n (0, _classCallCheck3['default'])(this, TabContent);\n return (0, _possibleConstructorReturn3['default'])(this, (TabContent.__proto__ || Object.getPrototypeOf(TabContent)).apply(this, arguments));\n }\n\n (0, _createClass3['default'])(TabContent, [{\n key: 'getTabPanes',\n value: function getTabPanes() {\n var props = this.props;\n var activeKey = props.activeKey;\n var children = props.children;\n var newChildren = [];\n\n _react2['default'].Children.forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var key = child.key;\n var active = activeKey === key;\n newChildren.push(_react2['default'].cloneElement(child, {\n active: active,\n destroyInactiveTabPane: props.destroyInactiveTabPane,\n rootPrefixCls: props.prefixCls\n }));\n });\n\n return newChildren;\n }\n }, {\n key: 'render',\n value: function render() {\n var _classnames;\n\n var props = this.props;\n var prefixCls = props.prefixCls,\n children = props.children,\n activeKey = props.activeKey,\n className = props.className,\n tabBarPosition = props.tabBarPosition,\n animated = props.animated,\n animatedWithMargin = props.animatedWithMargin,\n direction = props.direction;\n var style = props.style;\n var classes = (0, _classnames3['default'])((_classnames = {}, (0, _defineProperty3['default'])(_classnames, prefixCls + '-content', true), (0, _defineProperty3['default'])(_classnames, animated ? prefixCls + '-content-animated' : prefixCls + '-content-no-animated', true), _classnames), className);\n\n if (animated) {\n var activeIndex = (0, _utils.getActiveIndex)(children, activeKey);\n\n if (activeIndex !== -1) {\n var animatedStyle = animatedWithMargin ? (0, _utils.getMarginStyle)(activeIndex, tabBarPosition) : (0, _utils.getTransformPropValue)((0, _utils.getTransformByIndex)(activeIndex, tabBarPosition, direction));\n style = (0, _extends3['default'])({}, style, animatedStyle);\n } else {\n style = (0, _extends3['default'])({}, style, {\n display: 'none'\n });\n }\n }\n\n return _react2['default'].createElement('div', {\n className: classes,\n style: style\n }, this.getTabPanes());\n }\n }]);\n return TabContent;\n}(_react2['default'].Component);\n\nexports['default'] = TabContent;\nTabContent.propTypes = {\n animated: _propTypes2['default'].bool,\n animatedWithMargin: _propTypes2['default'].bool,\n prefixCls: _propTypes2['default'].string,\n children: _propTypes2['default'].node,\n activeKey: _propTypes2['default'].string,\n style: _propTypes2['default'].any,\n tabBarPosition: _propTypes2['default'].string,\n className: _propTypes2['default'].string,\n destroyInactiveTabPane: _propTypes2['default'].bool,\n direction: _propTypes2['default'].string\n};\nTabContent.defaultProps = {\n animated: true\n};\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823; // Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');\n\nvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _InkTabBarNode = require('./InkTabBarNode');\n\nvar _InkTabBarNode2 = _interopRequireDefault(_InkTabBarNode);\n\nvar _TabBarTabsNode = require('./TabBarTabsNode');\n\nvar _TabBarTabsNode2 = _interopRequireDefault(_TabBarTabsNode);\n\nvar _TabBarRootNode = require('./TabBarRootNode');\n\nvar _TabBarRootNode2 = _interopRequireDefault(_TabBarRootNode);\n\nvar _ScrollableTabBarNode = require('./ScrollableTabBarNode');\n\nvar _ScrollableTabBarNode2 = _interopRequireDefault(_ScrollableTabBarNode);\n\nvar _SaveRef = require('./SaveRef');\n\nvar _SaveRef2 = _interopRequireDefault(_SaveRef);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar ScrollableInkTabBar = function (_React$Component) {\n (0, _inherits3['default'])(ScrollableInkTabBar, _React$Component);\n\n function ScrollableInkTabBar() {\n (0, _classCallCheck3['default'])(this, ScrollableInkTabBar);\n return (0, _possibleConstructorReturn3['default'])(this, (ScrollableInkTabBar.__proto__ || Object.getPrototypeOf(ScrollableInkTabBar)).apply(this, arguments));\n }\n\n (0, _createClass3['default'])(ScrollableInkTabBar, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n renderTabBarNode = _props.children,\n restProps = (0, _objectWithoutProperties3['default'])(_props, ['children']);\n return _react2['default'].createElement(_SaveRef2['default'], null, function (saveRef, getRef) {\n return _react2['default'].createElement(_TabBarRootNode2['default'], (0, _extends3['default'])({\n saveRef: saveRef\n }, restProps), _react2['default'].createElement(_ScrollableTabBarNode2['default'], (0, _extends3['default'])({\n saveRef: saveRef,\n getRef: getRef\n }, restProps), _react2['default'].createElement(_TabBarTabsNode2['default'], (0, _extends3['default'])({\n saveRef: saveRef,\n renderTabBarNode: renderTabBarNode\n }, restProps)), _react2['default'].createElement(_InkTabBarNode2['default'], (0, _extends3['default'])({\n saveRef: saveRef,\n getRef: getRef\n }, restProps))));\n });\n }\n }]);\n return ScrollableInkTabBar;\n}(_react2['default'].Component);\n/* eslint-disable react/prefer-stateless-function */\n\n\nexports['default'] = ScrollableInkTabBar;\nScrollableInkTabBar.propTypes = {\n children: _propTypes2['default'].func\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = require('babel-runtime/helpers/defineProperty');\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames2 = require('classnames');\n\nvar _classnames3 = _interopRequireDefault(_classnames2);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nfunction _componentDidUpdate(component, init) {\n var _component$props = component.props,\n styles = _component$props.styles,\n panels = _component$props.panels,\n activeKey = _component$props.activeKey,\n direction = _component$props.direction;\n var rootNode = component.props.getRef('root');\n var wrapNode = component.props.getRef('nav') || rootNode;\n var inkBarNode = component.props.getRef('inkBar');\n var activeTab = component.props.getRef('activeTab');\n var inkBarNodeStyle = inkBarNode.style;\n var tabBarPosition = component.props.tabBarPosition;\n var activeIndex = (0, _utils.getActiveIndex)(panels, activeKey);\n\n if (init) {\n // prevent mount animation\n inkBarNodeStyle.display = 'none';\n }\n\n if (activeTab) {\n var tabNode = activeTab;\n var transformSupported = (0, _utils.isTransform3dSupported)(inkBarNodeStyle); // Reset current style\n\n (0, _utils.setTransform)(inkBarNodeStyle, '');\n inkBarNodeStyle.width = '';\n inkBarNodeStyle.height = '';\n inkBarNodeStyle.left = '';\n inkBarNodeStyle.top = '';\n inkBarNodeStyle.bottom = '';\n inkBarNodeStyle.right = '';\n\n if (tabBarPosition === 'top' || tabBarPosition === 'bottom') {\n var left = (0, _utils.getLeft)(tabNode, wrapNode);\n var width = tabNode.offsetWidth; // If tabNode'width width equal to wrapNode'width when tabBarPosition is top or bottom\n // It means no css working, then ink bar should not have width until css is loaded\n // Fix https://github.com/ant-design/ant-design/issues/7564\n\n if (width === rootNode.offsetWidth) {\n width = 0;\n } else if (styles.inkBar && styles.inkBar.width !== undefined) {\n width = parseFloat(styles.inkBar.width, 10);\n\n if (width) {\n left += (tabNode.offsetWidth - width) / 2;\n }\n }\n\n if (direction === 'rtl') {\n left = (0, _utils.getStyle)(tabNode, 'margin-left') - left;\n } // use 3d gpu to optimize render\n\n\n if (transformSupported) {\n (0, _utils.setTransform)(inkBarNodeStyle, 'translate3d(' + left + 'px,0,0)');\n } else {\n inkBarNodeStyle.left = left + 'px';\n }\n\n inkBarNodeStyle.width = width + 'px';\n } else {\n var top = (0, _utils.getTop)(tabNode, wrapNode, true);\n var height = tabNode.offsetHeight;\n\n if (styles.inkBar && styles.inkBar.height !== undefined) {\n height = parseFloat(styles.inkBar.height, 10);\n\n if (height) {\n top += (tabNode.offsetHeight - height) / 2;\n }\n }\n\n if (transformSupported) {\n (0, _utils.setTransform)(inkBarNodeStyle, 'translate3d(0,' + top + 'px,0)');\n inkBarNodeStyle.top = '0';\n } else {\n inkBarNodeStyle.top = top + 'px';\n }\n\n inkBarNodeStyle.height = height + 'px';\n }\n }\n\n inkBarNodeStyle.display = activeIndex !== -1 ? 'block' : 'none';\n}\n\nvar InkTabBarNode = function (_React$Component) {\n (0, _inherits3['default'])(InkTabBarNode, _React$Component);\n\n function InkTabBarNode() {\n (0, _classCallCheck3['default'])(this, InkTabBarNode);\n return (0, _possibleConstructorReturn3['default'])(this, (InkTabBarNode.__proto__ || Object.getPrototypeOf(InkTabBarNode)).apply(this, arguments));\n }\n\n (0, _createClass3['default'])(InkTabBarNode, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this; // ref https://github.com/ant-design/ant-design/issues/8678\n // ref https://github.com/react-component/tabs/issues/135\n // InkTabBarNode need parent/root ref for calculating position\n // since parent componentDidMount triggered after child componentDidMount\n // we're doing a quick fix here to use setTimeout to calculate position\n // after parent/root component mounted\n\n\n this.timeout = setTimeout(function () {\n _componentDidUpdate(_this2, true);\n }, 0);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n _componentDidUpdate(this);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this.timeout);\n }\n }, {\n key: 'render',\n value: function render() {\n var _classnames;\n\n var _props = this.props,\n prefixCls = _props.prefixCls,\n styles = _props.styles,\n inkBarAnimated = _props.inkBarAnimated;\n var className = prefixCls + '-ink-bar';\n var classes = (0, _classnames3['default'])((_classnames = {}, (0, _defineProperty3['default'])(_classnames, className, true), (0, _defineProperty3['default'])(_classnames, inkBarAnimated ? className + '-animated' : className + '-no-animated', true), _classnames));\n return _react2['default'].createElement('div', {\n style: styles.inkBar,\n className: classes,\n key: 'inkBar',\n ref: this.props.saveRef('inkBar')\n });\n }\n }]);\n return InkTabBarNode;\n}(_react2['default'].Component);\n\nexports['default'] = InkTabBarNode;\nInkTabBarNode.propTypes = {\n prefixCls: _propTypes2['default'].string,\n styles: _propTypes2['default'].object,\n inkBarAnimated: _propTypes2['default'].bool,\n saveRef: _propTypes2['default'].func,\n direction: _propTypes2['default'].string\n};\nInkTabBarNode.defaultProps = {\n prefixCls: '',\n inkBarAnimated: true,\n styles: {},\n saveRef: function saveRef() {}\n};\nmodule.exports = exports['default'];"],"sourceRoot":""}