{"version":3,"sources":["components/preferential/index.js","../node_modules/antd-mobile/lib/_util/getDataAttr.js","../node_modules/antd-mobile/lib/_util/getLocale.js","../node_modules/antd-mobile/lib/search-bar/style/css.js","../node_modules/antd-mobile/lib/search-bar/index.js","../node_modules/antd-mobile/lib/search-bar/PropsType.js","../node_modules/antd-mobile/lib/search-bar/locale/zh_CN.js","common/HeaderSearch/index.js"],"names":["Preferential","connect","_ref","user","props","_this","Object","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_6__","this","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_8__","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_9__","call","specialSale","http","get","concat","API","home","then","res","data","code","setState","dataList","isLoading","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_5___default","a","info","msg","bargain","group","ontabclick","tab","index","courseStatus","toCourseDetail","id","_this$props","dispatch","history","push","state","_this2","_this$props$user","isLogin","uid","react__WEBPACK_IMPORTED_MODULE_11___default","createElement","className","_common_HeaderSearch_index__WEBPACK_IMPORTED_MODULE_14__","_common_Loading__WEBPACK_IMPORTED_MODULE_16__","antd_mobile_lib_white_space__WEBPACK_IMPORTED_MODULE_3___default","antd_mobile_lib_tabs__WEBPACK_IMPORTED_MODULE_1___default","tabs","title","animated","onChange","swipeable","page","renderTabBar","DefaultTabBar","map","item","Info","onClick","course_id","course_title","course_desc","is_buy","price1","price0","status","bargain_price","price","is_aist","_common__WEBPACK_IMPORTED_MODULE_12__","key","img","image_name","toDetail","Component","defineProperty","exports","value","keys","reduce","prev","substr","module","obj","_extends2","__webpack_require__","_extends3","__esModule","default","getComponentLocale","context","componentName","getDefaultLocale","locale","antLocale","defaultLocale","result","lang","getLocaleCode","localeCode","exist","_interopRequireDefault","_defineProperty3","_classCallCheck3","_createClass3","_possibleConstructorReturn3","_inherits3","_classnames5","React","_interopRequireWildcard","PropTypes","_rmcFeedback2","_getDataAttr2","_getLocale","_PropsType","newObj","prototype","hasOwnProperty","SearchBar","_React$Component","__proto__","getPrototypeOf","onSubmit","e","preventDefault","inputRef","blur","focus","target","onFocus","firstFocus","onBlur","cb","onBlurTimeout","blurFromOnClear","document","activeElement","window","requestAnimationFrame","setTimeout","body","scrollTop","onClear","doClear","arguments","length","undefined","onCancel","defaultValue","rightBtnRef","initBtn","getComputedStyle","rightBtnInitMarginleft","marginLeft","componentDidUpdate","syntheticPhRef","inputContainerRef","indexOf","prefixCls","syntheticPhContainerRef","realWidth","getBoundingClientRect","width","style","Math","ceil","showCancelButton","marginRight","offsetWidth","parseInt","nextProps","nextFrameId","cancelAnimationFrame","clearTimeout","_classnames3","_props","disabled","placeholder","maxLength","cancelText","_state","wrapCls","clearCls","cancelCls","ref","el","action","visibility","type","activeClassName","defaultProps","contextTypes","object","noop","HeaderBar","goShop","_this$props$isLogin","url","location","replace","href","react__WEBPACK_IMPORTED_MODULE_7___default","toHref","return","bind","antd_mobile_lib_search_bar__WEBPACK_IMPORTED_MODULE_1___default","toSearch"],"mappings":"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","file":"mrstatic/js/Preferential.0e5301b8.chunk.js","sourcesContent":["import React, {Component} from 'react'\nimport {VList} from '../../common'\nimport {Tabs, WhiteSpace, Toast} from 'antd-mobile'\nimport './index.scss'\nimport HeaderSearch from '../../common/HeaderSearch/index'\nimport {http} from \"@/utils\"\nimport Loading from '@/common/Loading'\nimport {connect} from 'react-redux';\n\n@connect(({user}) => ({\n    user\n}))\nclass Preferential extends Component {\n    constructor(props) {\n        super(props)\n        this.state = {\n            dataList: [],\n            courseStatus: 0,\n            isLoading: true\n        }\n    }\n\n    componentDidMount() {\n        this.specialSale()\n    }\n\n    // 限时特惠\n    specialSale = () => {\n        http.get(`${API.home}/m/home/weekDiscounts`).then((res) => {\n            if (res.data.code === 200) {\n                this.setState({\n                    dataList: res.data.data,\n                    isLoading: false\n                })\n            } else {\n                Toast.info(res.data.msg, 2)\n            }\n\n        })\n    }\n    // 砍价专区\n    bargain = () => {\n        http.get(`${API.home}/m/home/bargainZone`).then((res) => {\n            if (res.data.code === 200) {\n                this.setState({\n                    dataList: res.data.data,\n                    isLoading: false,\n                })\n            } else {\n                Toast.info(res.data.msg, 2)\n            }\n        })\n    }\n    // 一键拼团\n    group = () => {\n        http.get(`${API.home}/m/home/grouponList`).then((res) => {\n            if (res.data.code === 200) {\n                this.setState({\n                    dataList: res.data.data,\n                    isLoading: false,\n                })\n            } else {\n                Toast.info(res.data.msg, 2)\n            }\n        })\n    }\n    // tab 切换\n    ontabclick = (tab, index) => {\n        this.setState({\n            courseStatus: index,\n            isLoading: true,\n        })\n        switch (index) {\n            case 0:\n                this.specialSale()\n                break\n            case 1:\n                this.bargain()\n                break\n            default:\n                this.group()\n        }\n    }\n\n    toCourseDetail = (id) => {\n        const { dispatch, history } = this.props;\n        // dispatch(getCourses(id, () => {\n            history.push(`/detail?id=${id}`)\n        // }));\n    }\n\n    render() {\n        const tabs = [\n            {title: '限时特惠'},\n            {title: '砍价专区'},\n            {title: '一键拼团'}\n        ]\n        const { user ={} } = this.props;\n        let isLogin = user.data && user.data.uid? true : false;\n        return (\n            <div className='preferential'>\n                <HeaderSearch isLogin={isLogin} />\n                <Loading isLoading={this.state.isLoading}>\n                    <div className='class-content'>\n                        <WhiteSpace/>\n\n                        <Tabs\n                            tabs={tabs}\n                            animated={false}\n                            onChange={(tab, index) => this.ontabclick(tab, index)}\n                            swipeable={false}\n                            page={this.state.courseStatus}\n                            renderTabBar={props => <div className={'custom-tab-bar'}>\n                                <Tabs.DefaultTabBar {...props}/>\n                            </div>}\n                        >\n                        </Tabs>\n                        <div className='tabs'>\n                            <ul>\n                                {this.state.dataList.map((item, index) => {\n                                    const Info = (\n                                        <div className=\"info\">\n                                            <p className='title' onClick={() => this.toCourseDetail(item.course_id)}>\n                                                {/* <Link to={`/detail?id=${item.course_id}`}> */}\n                                                {item.course_title}\n                                                {/* </Link> */}\n                                            </p>\n                                            <p className='contact text-overflow-2'>{item.course_desc}</p>\n                                            <div className='des'>\n                                                {!item.is_buy &&\n                                                <p className=\"course-price\">\n                                                    {this.state.courseStatus === 0 &&\n                                                    <span className='price'>特惠价:</span>\n                                                    }\n                                                    <span className=\"new\">¥{item.price1}</span>\n                                                    <span className=\"old\">¥{item.price0}</span>\n                                                </p>\n                                                }\n                                                {item.is_buy &&\n                                                <a className=\"isbuy\">已购买</a>\n                                                }\n                                            </div>\n                                        </div>\n                                    )\n                                    const status = (\n                                        !item.is_buy &&\n                                        <div>\n                                            {this.state.courseStatus === 1 &&\n                                            <p className='course-status'>砍价减{item.bargain_price}元</p>\n                                            }\n                                            {this.state.courseStatus === 2 &&\n                                            <p className='course-status'>拼团价{item.price}元</p>\n                                            }\n                                            {\n                                                item.is_aist && <span className='return_cash'></span>\n                                            }\n                                        </div>\n                                    )\n                                    return (\n                                        <VList\n                                            key={index}\n                                            img={item.image_name}\n                                            id={item.course_id}\n                                            status={status}\n                                            info={Info}\n                                            toDetail={this.toCourseDetail}\n                                        />\n                                    )\n                                })}\n                            </ul>\n\n                        </div>\n                        <WhiteSpace/>\n                    </div>\n                </Loading>\n            </div>\n        )\n    }\n\n}\n\nexport default Preferential;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nexports['default'] = function (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\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\nexports.getComponentLocale = getComponentLocale;\nexports.getLocaleCode = getLocaleCode;\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    'default': obj\n  };\n}\n\nfunction getComponentLocale(props, context, componentName, getDefaultLocale) {\n  var locale = {};\n\n  if (context && context.antLocale && context.antLocale[componentName]) {\n    locale = context.antLocale[componentName];\n  } else {\n    var defaultLocale = getDefaultLocale(); // TODO: make default lang of antd be English\n    // https://github.com/ant-design/ant-design/issues/6334\n\n    locale = defaultLocale['default'] || defaultLocale;\n  }\n\n  var result = (0, _extends3['default'])({}, locale);\n\n  if (props.locale) {\n    result = (0, _extends3['default'])({}, result, props.locale);\n\n    if (props.locale.lang) {\n      result.lang = (0, _extends3['default'])({}, locale.lang, props.locale.lang);\n    }\n  }\n\n  return result;\n}\n\nfunction getLocaleCode(context) {\n  var localeCode = context.antLocale && context.antLocale.locale; // Had use LocaleProvide but didn't set locale\n\n  if (context.antLocale && context.antLocale.exist && !localeCode) {\n    return 'zh-cn';\n  }\n\n  return localeCode;\n}","'use strict';\n\nrequire('../../style/css');\n\nrequire('./index.css');","'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 _classnames4 = require('classnames');\n\nvar _classnames5 = _interopRequireDefault(_classnames4);\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nvar _propTypes = require('prop-types');\n\nvar PropTypes = _interopRequireWildcard(_propTypes);\n\nvar _rmcFeedback = require('rmc-feedback');\n\nvar _rmcFeedback2 = _interopRequireDefault(_rmcFeedback);\n\nvar _getDataAttr = require('../_util/getDataAttr');\n\nvar _getDataAttr2 = _interopRequireDefault(_getDataAttr);\n\nvar _getLocale = require('../_util/getLocale');\n\nvar _PropsType = require('./PropsType');\n\nfunction _interopRequireWildcard(obj) {\n  if (obj && obj.__esModule) {\n    return obj;\n  } else {\n    var newObj = {};\n\n    if (obj != null) {\n      for (var key in obj) {\n        if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n      }\n    }\n\n    newObj['default'] = obj;\n    return newObj;\n  }\n}\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    'default': obj\n  };\n}\n\nfunction onNextFrame(cb) {\n  if (window.requestAnimationFrame) {\n    return window.requestAnimationFrame(cb);\n  }\n\n  return window.setTimeout(cb, 1);\n}\n\nfunction clearNextFrameAction(nextFrameId) {\n  if (window.cancelAnimationFrame) {\n    window.cancelAnimationFrame(nextFrameId);\n  } else {\n    window.clearTimeout(nextFrameId);\n  }\n}\n\nvar SearchBar = function (_React$Component) {\n  (0, _inherits3['default'])(SearchBar, _React$Component);\n\n  function SearchBar(props) {\n    (0, _classCallCheck3['default'])(this, SearchBar);\n\n    var _this = (0, _possibleConstructorReturn3['default'])(this, (SearchBar.__proto__ || Object.getPrototypeOf(SearchBar)).call(this, props));\n\n    _this.onSubmit = function (e) {\n      e.preventDefault();\n\n      if (_this.props.onSubmit) {\n        _this.props.onSubmit(_this.state.value || '');\n      }\n\n      if (_this.inputRef) {\n        _this.inputRef.blur();\n      }\n    };\n\n    _this.onChange = function (e) {\n      if (!_this.state.focus) {\n        _this.setState({\n          focus: true\n        });\n      }\n\n      var value = e.target.value;\n\n      if (!('value' in _this.props)) {\n        _this.setState({\n          value: value\n        });\n      }\n\n      if (_this.props.onChange) {\n        _this.props.onChange(value);\n      }\n    };\n\n    _this.onFocus = function () {\n      _this.setState({\n        focus: true\n      });\n\n      _this.firstFocus = true;\n\n      if (_this.props.onFocus) {\n        _this.props.onFocus();\n      }\n    };\n\n    _this.onBlur = function () {\n      _this.onBlurTimeout = onNextFrame(function () {\n        if (!_this.blurFromOnClear) {\n          if (document.activeElement !== _this.inputRef) {\n            _this.setState({\n              focus: false\n            });\n          }\n        }\n\n        _this.blurFromOnClear = false;\n      });\n\n      if (_this.props.onBlur) {\n        // fix autoFocus item blur with flash\n        setTimeout(function () {\n          // fix ios12 wechat browser click failure after input\n          if (document.body) {\n            document.body.scrollTop = document.body.scrollTop;\n          }\n        }, 100);\n\n        _this.props.onBlur();\n      }\n    };\n\n    _this.onClear = function () {\n      _this.doClear();\n    };\n\n    _this.doClear = function () {\n      var blurFromOnClear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n      _this.blurFromOnClear = blurFromOnClear;\n\n      if (!('value' in _this.props)) {\n        _this.setState({\n          value: ''\n        });\n      }\n\n      if (_this.props.onClear) {\n        _this.props.onClear('');\n      }\n\n      if (_this.props.onChange) {\n        _this.props.onChange('');\n      }\n\n      if (blurFromOnClear) {\n        _this.focus();\n      }\n    };\n\n    _this.onCancel = function () {\n      if (_this.props.onCancel) {\n        _this.props.onCancel(_this.state.value || '');\n      } else {\n        _this.doClear(false);\n      }\n    };\n\n    _this.focus = function () {\n      if (_this.inputRef) {\n        _this.inputRef.focus();\n      }\n    };\n\n    var value = void 0;\n\n    if ('value' in props) {\n      value = props.value || '';\n    } else if ('defaultValue' in props) {\n      value = props.defaultValue;\n    } else {\n      value = '';\n    }\n\n    _this.state = {\n      value: value,\n      focus: false\n    };\n    return _this;\n  }\n\n  (0, _createClass3['default'])(SearchBar, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      if (this.rightBtnRef) {\n        var initBtn = window.getComputedStyle(this.rightBtnRef);\n        this.rightBtnInitMarginleft = initBtn.marginLeft;\n      }\n\n      this.componentDidUpdate();\n    }\n  }, {\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate() {\n      if (this.syntheticPhRef) {\n        if (this.inputContainerRef && this.inputContainerRef.className.indexOf(this.props.prefixCls + '-start') > -1) {\n          // 检测是否包含名为 ${this.props.prefixCls}-start 样式,生成动画\n          // offsetWidth 某些时候是向上取整,某些时候是向下取整,不能用\n          if (this.syntheticPhContainerRef) {\n            var realWidth = this.syntheticPhContainerRef.getBoundingClientRect().width; // 包含小数\n\n            this.syntheticPhRef.style.width = Math.ceil(realWidth) + 'px';\n          }\n\n          if (!this.props.showCancelButton && this.rightBtnRef) {\n            this.rightBtnRef.style.marginRight = '0';\n          }\n        } else {\n          this.syntheticPhRef.style.width = '100%';\n\n          if (!this.props.showCancelButton && this.rightBtnRef) {\n            this.rightBtnRef.style.marginRight = '-' + (this.rightBtnRef.offsetWidth + (this.rightBtnInitMarginleft != null ? parseInt(this.rightBtnInitMarginleft, 10) : 0)) + 'px';\n          }\n        }\n      }\n    }\n  }, {\n    key: 'componentWillReceiveProps',\n    value: function componentWillReceiveProps(nextProps) {\n      if ('value' in nextProps && nextProps.value !== this.state.value) {\n        this.setState({\n          value: nextProps.value\n        });\n      }\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      if (this.onBlurTimeout) {\n        clearNextFrameAction(this.onBlurTimeout);\n        this.onBlurTimeout = null;\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _classnames3,\n          _this2 = this;\n\n      var _props = this.props,\n          prefixCls = _props.prefixCls,\n          showCancelButton = _props.showCancelButton,\n          disabled = _props.disabled,\n          placeholder = _props.placeholder,\n          className = _props.className,\n          style = _props.style,\n          maxLength = _props.maxLength; // tslint:disable-next-line:variable-name\n\n      var _locale = (0, _getLocale.getComponentLocale)(this.props, this.context, 'SearchBar', function () {\n        return require('./locale/zh_CN');\n      });\n\n      var cancelText = _locale.cancelText;\n      var _state = this.state,\n          value = _state.value,\n          focus = _state.focus;\n      var wrapCls = (0, _classnames5['default'])(prefixCls, className, (0, _defineProperty3['default'])({}, prefixCls + '-start', !!(focus || value && value.length > 0)));\n      var clearCls = (0, _classnames5['default'])(prefixCls + '-clear', (0, _defineProperty3['default'])({}, prefixCls + '-clear-show', !!(focus && value && value.length > 0)));\n      var cancelCls = (0, _classnames5['default'])(prefixCls + '-cancel', (_classnames3 = {}, (0, _defineProperty3['default'])(_classnames3, prefixCls + '-cancel-show', !!(showCancelButton || focus || value && value.length > 0)), (0, _defineProperty3['default'])(_classnames3, prefixCls + '-cancel-anim', this.firstFocus), _classnames3));\n      return React.createElement('form', {\n        onSubmit: this.onSubmit,\n        className: wrapCls,\n        style: style,\n        ref: function ref(el) {\n          return _this2.inputContainerRef = el;\n        },\n        action: '#'\n      }, React.createElement('div', {\n        className: prefixCls + '-input'\n      }, React.createElement('div', {\n        className: prefixCls + '-synthetic-ph',\n        ref: function ref(el) {\n          return _this2.syntheticPhRef = el;\n        }\n      }, React.createElement('span', {\n        className: prefixCls + '-synthetic-ph-container',\n        ref: function ref(el) {\n          return _this2.syntheticPhContainerRef = el;\n        }\n      }, React.createElement('i', {\n        className: prefixCls + '-synthetic-ph-icon'\n      }), React.createElement('span', {\n        className: prefixCls + '-synthetic-ph-placeholder' // tslint:disable-next-line:jsx-no-multiline-js\n        ,\n        style: {\n          visibility: placeholder && !value ? 'visible' : 'hidden'\n        }\n      }, placeholder))), React.createElement('input', (0, _extends3['default'])({\n        type: 'search',\n        className: prefixCls + '-value',\n        value: value,\n        disabled: disabled,\n        placeholder: placeholder,\n        onChange: this.onChange,\n        onFocus: this.onFocus,\n        onBlur: this.onBlur,\n        ref: function ref(el) {\n          return _this2.inputRef = el;\n        },\n        maxLength: maxLength\n      }, (0, _getDataAttr2['default'])(this.props))), React.createElement(_rmcFeedback2['default'], {\n        activeClassName: prefixCls + '-clear-active'\n      }, React.createElement('a', {\n        onClick: this.onClear,\n        className: clearCls\n      }))), React.createElement('div', {\n        className: cancelCls,\n        onClick: this.onCancel,\n        ref: function ref(el) {\n          return _this2.rightBtnRef = el;\n        }\n      }, this.props.cancelText || cancelText));\n    }\n  }]);\n  return SearchBar;\n}(React.Component);\n\nexports['default'] = SearchBar;\nSearchBar.defaultProps = _PropsType.defaultProps;\nSearchBar.contextTypes = {\n  antLocale: PropTypes.object\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction noop() {}\n\nvar defaultProps = exports.defaultProps = {\n  prefixCls: 'am-search',\n  placeholder: '',\n  onSubmit: noop,\n  onChange: noop,\n  onFocus: noop,\n  onBlur: noop,\n  onClear: noop,\n  showCancelButton: false,\n  disabled: false\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports['default'] = {\n  cancelText: '取消'\n};\nmodule.exports = exports['default'];","import React, {Component} from 'react'\nimport {SearchBar} from 'antd-mobile'\nimport './index.scss'\n\nclass HeaderBar extends Component {\n    toSearch() {\n        window.location.href = '/search';\n    }\n\n    return() {\n        window.location.href = '/';\n    }\n\n    goShop = () => {\n        const { isLogin = false } = this.props;\n        let url = isLogin? '/shopcart' : '/passport';\n        window.location.replace(url);\n    }\n\n    render() {\n        return (\n            <div className='preferential'>\n                <div className=\"search-nav\">\n                    {\n                        !this.props.toHref &&\n                        <i \n                            className={'iconfont iconiconfront-68 return'} \n                            onClick={this.return.bind(this)}\n                        />\n                    }\n                    {\n                        this.props.toHref &&\n                        <i \n                            className={'iconfont iconiconfront-68 return'} \n                            onClick={this.props.toHref}\n                        />\n                    }\n                    <SearchBar\n                        placeholder=\"搜索课程\"\n                        cancelText={\" \"}\n                        onFocus={this.toSearch.bind(this)}\n                        showCancelButton={false}\n                    />\n                    <i \n                        className={'iconfont icongouwuche-xianxing shopping-cart'} \n                        onClick={this.goShop}\n                    />\n                </div>\n            </div>\n        )\n    }\n\n}\n\nexport default HeaderBar;\n"],"sourceRoot":""}